From mirageos-devel-bounces@lists.xenproject.org Thu Dec 05 23:42:09 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 23:42:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1id0km-0000UX-CU; Thu, 05 Dec 2019 23:41:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=w7E+=Z3=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1id0kl-0000UN-Ok
 for mirageos-devel@lists.xenproject.org; Thu, 05 Dec 2019 23:41:47 +0000
X-Inumbo-ID: bf1e04da-17b8-11ea-8242-12813bfff9fa
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bf1e04da-17b8-11ea-8242-12813bfff9fa;
 Thu, 05 Dec 2019 23:41:25 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1575589284;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=7thsNu1yLw7N0JCESXI8r+HzFp0zhvtgpp3wbvXZTBI=;
 b=QYvXxvOsOig0iQLJ5rMxOmwl5Hp3soRusjUxUDFfQyXB2VPz9aLq9uiF
 pnvl3HIJoj5OfPrtmNf5XrmdequQ9iXVDjfxMGFVvekaV5S0PSVNCVJjq
 dKegPxeeyN6FMmGLn+kAnNAiZingxeKLh7MQfDdgi02GZuf9EI1aFVYYr I=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: +3tbGZAvBCkFlyiKoQh+eqxWB8pOt+v7C2EXLm6kpH6l61uGoQkfW+ZYQUNT9IMq0R0gBy2XMj
 slkl4y7zlrsQ8IpBL4gTgki4vpAvp1IZY4Y3tFAd5mGZOQgO+ceVZD6+QXiwZLkvaa15wfDZuL
 p8UxzmgD9HlPzG30WOKsYIht+RYXk/dVV4jIdISHPZsei98O5jSRWuXmXhf3FcjKyTAq6iaT9o
 lwvq/7hnKGZPZe9J9BpUOl88aJ0y6Pm4Yp8PrbcnXBwhSzHzbz1yGLql188Wll6swT34Nb/RFz
 P/s=
X-SBRS: 2.7
X-MesageID: 9638266
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,282,1571716800"; 
   d="scan'208";a="9638266"
From: Lars Kurth <lars.kurth@citrix.com>
To: Rich Persaud <persaur@gmail.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Jan Beulich <JBeulich@suse.com>
Thread-Topic: [MirageOS-devel] [PATCH v2 4/6] Add Code Review Guide
Thread-Index: AQHVpfEGwl/VxYnE9Uydtksy7w4pxaegJ7iAgACsyoCAABXQgIAK324A
Date: Thu, 5 Dec 2019 23:41:19 +0000
Message-ID: <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
In-Reply-To: <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
Content-ID: <35988F976334FD438E6B801F1EB8E7D6@citrix.com>
MIME-Version: 1.0
Subject: Re: [MirageOS-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

DQoNCkZyb206IExhcnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4NCkRhdGU6IFRodXJz
ZGF5LCAyOCBOb3ZlbWJlciAyMDE5IGF0IDE5OjM5DQpUbzogUmljaCBQZXJzYXVkIDxwZXJzYXVy
QGdtYWlsLmNvbT4NCkNjOiAnSmFuIEJldWxpY2gnIDxKQmV1bGljaEBzdXNlLmNvbT4sICJsYXJz
Lmt1cnRoQHhlbnByb2plY3Qub3JnIiA8bGFycy5rdXJ0aEB4ZW5wcm9qZWN0Lm9yZz4sIFN0ZWZh
bm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4sICJ4ZW4tYXBpQGxpc3RzLnhl
bnByb2plY3Qub3JnIiA8eGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4sICJtaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmc+LCAiY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZyIgPGNvbW1pdHRlcnNAeGVucHJvamVjdC5v
cmc+LCAibWlyYWdlb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaXJhZ2Vvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4sIHhlbi1kZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnPiwgIndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIgPHdpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4NClN1YmplY3Q6IFJlOiBbTWlyYWdlT1MtZGV2ZWxd
IFtQQVRDSCB2MiA0LzZdIEFkZCBDb2RlIFJldmlldyBHdWlkZQ0KDQrCoA0KwqANCkZyb206IFJp
Y2ggUGVyc2F1ZCA8cGVyc2F1ckBnbWFpbC5jb20+DQpEYXRlOiBUaHVyc2RheSwgMjggTm92ZW1i
ZXIgMjAxOSBhdCAxMjoyMQ0KVG86IExhcnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4N
CkNjOiAnSmFuIEJldWxpY2gnIDxKQmV1bGljaEBzdXNlLmNvbT4sICJsYXJzLmt1cnRoQHhlbnBy
b2plY3Qub3JnIiA8bGFycy5rdXJ0aEB4ZW5wcm9qZWN0Lm9yZz4sIFN0ZWZhbm8gU3RhYmVsbGlu
aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4sICJ4ZW4tYXBpQGxpc3RzLnhlbnByb2plY3Qub3Jn
IiA8eGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4sICJtaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmciIDxtaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+LCAiY29tbWl0
dGVyc0B4ZW5wcm9qZWN0Lm9yZyIgPGNvbW1pdHRlcnNAeGVucHJvamVjdC5vcmc+LCAibWlyYWdl
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaXJhZ2Vvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZz4sIHhlbi1kZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPiwg
Indpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIgPHdpbi1wdi1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZz4NClN1YmplY3Q6IFJlOiBbTWlyYWdlT1MtZGV2ZWxdIFtQQVRDSCB2MiA0
LzZdIEFkZCBDb2RlIFJldmlldyBHdWlkZQ0KwqANCk9uIE5vdiAyOCwgMjAxOSwgYXQgMDk6MDUs
IExhcnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4gd3JvdGU6DQrCoA0KT24gMjgvMTEv
MjAxOSwgMDc6MzcsICJKYW4gQmV1bGljaCIgPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCg0K
wqDCoMKgT24gMjguMTEuMjAxOSAxNDowNiwgTGFycyBLdXJ0aCB3cm90ZToNCg0KDQpJIGNhbiBj
ZXJ0YWlubHkgYWRkIHNvbWV0aGluZyBvbiB0aGUgdGltaW5nICwgYWxvbmcgdGhlIGxpbmVzIG9m
DQoqIEZvciBjb21wbGV4IHNlcmllcywgY29uc2lkZXIgdGhlIHRpbWUgaXQgdGFrZXMgdG8gZG8g
cmV2aWV3cyAobWF5YmUgd2l0aCBhIGd1aWRlIG9mIExPQyBwZXIgaG91cikgYW5kIGdpdmUgcmV2
aWV3ZXJzIGVub3VnaCB0aW1lIHRvDQoqIEZvciBzZXJpZXMgd2l0aCBkZXNpZ24gaXNzdWVzIG9y
IGxhcmdlIHF1ZXN0aW9ucywgdHJ5IGFuZCBoaWdobGlnaHQgdGhlIGtleSBvcGVuIGlzc3VlcyBp
biBjb3ZlciBsZXR0ZXJzIGNsZWFybHkgYW5kIHNvbGljaXQgZmVlZGJhY2sgZnJvbSBrZXkgbWFp
bnRhaW5lcnMgd2hvIGNhbiBjb21tZW50IG9uIHRoZSBvcGVuIGlzc3VlLiBUaGUgaWRlYSBpcyB0
byBzYXZlIGJvdGggdGhlIGNvbnRyaWJ1dG9yIGFuZCB0aGUgcmV2aWV3ZXJzIHRpbWUgYnkgZm9j
dXNzaW5nIG9uIHdoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQgDQoqIERvbuKAmXQgcmVwb3N0IGEg
c2VyaWVzLCB1bmxlc3MgYWxsIHJldmlldyBjb21tZW50cyBhcmUgYWRkcmVzc2VkDQpvciB0aGUg
cmV2aWV3ZXJzIGFza2VkIHlvdSB0byBkbyBzby4gVGhlIHByb2JsZW0gd2l0aCB0aGlzIGlzIHRo
YXQNCnRoaXMgaXMgc29tZXdoYXQgaW4gY29uZmxpY3Qgd2l0aCB0aGUgImxldCdzIGZvY3VzIG9u
IHRoZSBjb3JlDQppc3N1ZXMgYW5kIG5vdCBnZXQgZGlzdHJhY3RlZCBieSBkZXRhaWxzIGVhcmx5
IG9uIGluIGEgcmV2aWV3IGN5Y2xlIi4NCkluIG90aGVyIHdvcmRzLCB0aGlzIGNhbiBvbmx5IHdv
cmssIGlmIHJldmlld2VycyBmb2N1cyBvbiBtYWpvcg0KaXNzdWVzIGluIGVhcmx5IHJldmlld3Mg
b25seSBhbmQgZG8gbm90IGZvY3VzIG9uIHN0eWxlLCBjb2RpbmcNCnN0YW5kYXJkcywgZXRjLg0K
DQrCoMKgwqBCdXQgdGhpcyBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSBlaXRoZXIsIGJlY2F1c2Ug
dGhlbiBmdWxsIHJlLXJldmlld3MNCsKgwqDCoG5lZWQgdG8gaGFwcGVuIGFueXdheSBvbiBsYXRl
ciB2ZXJzaW9ucywgdG8gYWxzbyBkZWFsIHdpdGggdGhlIG1pbm9yDQrCoMKgwqBpc3N1ZXMuIEZv
ciBSRkMga2luZCBvZiBzZXJpZXMgb21pdHRpbmcgc3R5bGUgYW5kIGFsaWtlIGZlZWRiYWNrDQrC
oMKgwqBjZXJ0YWlubHkgbWFrZXMgc2Vuc2UsIGJ1dCBhcyBzb29uIGFzIGEgcGF0Y2ggaXMgbm9u
LVJGQywgaXQgc2hvdWxkDQrCoMKgwqBiZSBjb25zaWRlcmVkIGdvb2QgdG8gZ28gaW4gYnkgdGhl
IHN1Ym1pdHRlci4NCg0KT0ssIEkgdGhpbmsgd2UgaGF2ZSBhIGRpc2Nvbm5lY3QgYmV0d2VlbiBp
ZGVhbCBhbmQgcmVhbGl0eS4gDQoNCkkgc2VlIHR3byBpc3N1ZXMgdG9kYXkNCiogS2V5IG1haW50
YWluZXJzIGRvbid0IGFsd2F5cyByZXZpZXcgUkZDIHNlcmllcyBbdGhleSBlbmQgdXAgYXQgdGhl
IGJvdHRvbSBvZiB0aGUgcHJpb3JpdHkgbGlzdCwgZXZlbiB0aG91Z2ggc3BlbmRpbmcgdGltZSBv
biBSRkNzIHdpbGwgc2F2ZSB0aW1lIGVsc2V3aGVyZSBsYXRlcl0uIFNvIHRoZSBlZmZlY3QgaXMg
dGhhdCB0aGVuIHRoZSBjb250cmlidXRvciBhc3N1bWVzIHRoZXJlIGFyZSBubyBtYWpvciBpc3N1
ZXMgYW5kIGVuZHMgaXQgYXMgYSBwcm9wZXIgc2VyaWVzDQoqIEluIHByYWN0aWNlIHdoYXQgaGFz
IGhhcHBlbmVkIG9mdGVuIGluIHRoZSBwYXN0IGlzIHRoYXQgZGVzaWduLCBhcmNoaXRlY3R1cmUs
IGFzc3VtcHRpb24gZmxhd3MgYXJlIGZvdW5kIGluIGVhcmx5IHZlcnNpb25zIG9mIGEgc2VyaWVz
Lg0KwqDCoC0gVGhpcyB1c3VhbGx5IGhhcHBlbnMgYmVjYXVzZSBvZiBhbiBvdmVyc2lnaHQgb3Ig
YmVjYXVzZSB0aGVyZSB3YXMgbm8gZGVzaWduIGRpc2N1c3Npb24gcHJpb3IgdG8gdGhlIHNlcmll
cyBiZWluZyBwb3N0ZWQgYW5kIGFncmVlZA0KwqDCoC0gQ29tbW9uIHNlbnNlIHdvdWxkIGRpY3Rh
dGUgdGhhdCB0aGUgYmlnZ2VzdCBiZW5lZml0IGZvciBib3RoIHRoZSByZXZpZXdlciwgdGhlIGNv
bnRyaWJ1dG9yIGFuZCB0aGUgY29tbXVuaXR5IGFzIGEgd2hvbGUgd291bGQgYmUgdG8gdHJ5IGFu
ZCBmb2N1cyBvbiBzdWNoIGZsYXdzIGFuZCBsZWF2ZSBldmVyeXRoaW5nIGFzaWRlDQrCoMKgLSBP
ZiBjb3Vyc2UgdGhlcmUgbWF5IGJlIHZhbHVlIGluIGRvaW5nIGEgZGV0YWlsZWQgcmV2aWV3IG9m
IHBhcnRzIG9mIHN1Y2ggYSBzZXJpZXMgYXMgdGhlcmUgbWF5IGJlIGJpdHMgdGhhdCBhcmUgdW5h
ZmZlY3RlZCBieSBzdWNoIGEgZmxhdw0KwqDCoC0gQnV0IHRoZXJlIHdpbGwgbGlrZWx5IGJlIHBh
cnRzIHdoaWNoIGFyZSBub3Q6IGRvaW5nIGEgZGV0YWlsZWQgcmV2aWV3IG9mIHN1Y2ggcG9ydGlv
bnMgd2FzdGVzIGV2ZXJ5b25lJ3MgdGltZQ0KDQpTbyBjb21pbmcgYmFjayB0byB5b3VyIHBvaW50
LiBJZGVhbGx5LCBpdCB3b3VsZCBiZSBuaWNlIGlmIHdlIGhhZCB0aGUgY2FwYWJpbGl0eSB0byBj
YWxsIG91dCBwYXJ0cyBvZiBhIHNlcmllcyBhcyAicHJvYmxlbWF0aWMiIGFuZCB0cmVhdGluZyBz
dWNoIHBhcnRzIGRpZmZlcmVudGx5Lg0KwqANCsKgIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIHNv
bWUgIlNoaWZ0IExlZnQiIHRlcm1pbm9sb2d5LCBpbmNsdWRpbmcgY2l0YXRpb25zIG9mIHByZXZp
b3VzIFhlbiBjb2RlIHJldmlld3MgdG8gaWxsdXN0cmF0ZSBjYXRlZ29yaWVzIG9mIGRlc2lnbiBp
c3N1ZXMgdGhhdCBjYW4gYmUgc2hpZnRlZCBsZWZ0Og0KwqAgDQrCoMKgwqAgaHR0cHM6Ly9kZXZv
cGVkaWEub3JnL3NoaWZ0LWxlZnQNCsKgIA0KSSBsaWtlIHRoYXQgaWRlYS4gV2Ugc2VlbSB0byBu
b3QgaGF2ZSBjb21lIHRvIGEgY29uY2x1c2lvbiBvbiB0aGlzIHNwZWNpZmljIHRvcGljLCBidXQg
bWF5YmUgZm9yIG5vdyBpdCBpcyBzdWZmaWNpZW50IHRvIGNhbGwgdGhpcyBvdXQgYXMgYSBwb3Rl
bnRpYWwgaXNzdWUgaW4gdGhlIGd1aWRlLg0KwqANCkJlZm9yZSBJIHNlbmQgb3V0IGEgbmV3IHZl
cnNpb24sIGl0IHdvdWxkIGJlIGdvb2QgdG8gZ2V0IGF0IGxlYXN0IEphbuKAmXMgdmlldyBvbiB0
aGUgaXNzdWUuIA0KwqANCkxhcnMNCg0KSSBoYXZlIGEgZHJhZnQgdmVyc2lvbiBvZiAgdGhpcyBz
ZXJpZXMgcmVhZHksIGJ1dCB3YW50ZWQgdG8gY2hlY2sgaG93IHNvbWUgb2YgaXQgcmVzb25hdGVz
LiBBbHNvLCBJIGRvIGhhdmUgb3BlbiBxdWVzdGlvbnMsIHdoZXJlIEkgYW0gbG9va2luZyBmb3Ig
aW5wdXQgZnJvbSBzZWFzb25lZCByZXZpZXdlcnMNCg0KSSBwcm9wb3NlIHRvIGFkZCB0aGUgZm9s
bG93aW5nIHNlY3Rpb24gdG8gY29kZS1yZXZpZXctZ3VpZGUubWQNCg0KLS0tLQ0KIyMgPGEgbmFt
ZT0icHJvYmxlbXMiPjwvYT5Qcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzDQoNCkEgdHlwaWNhbCB3
YXRlcmZhbGwgc29mdHdhcmUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBpcyBzZXF1ZW50aWFsIHdpdGgg
dGhlIGZvbGxvd2luZ8KgDQpzdGVwczogZGVmaW5lIHJlcXVpcmVtZW50cywgYW5hbHlzZSwgZGVz
aWduLCBjb2RlLCB0ZXN0IGFuZCBkZXBsb3kuIFByb2JsZW1zwqANCnVuY292ZXJlZCBieSBjb2Rl
IHJldmlldyBvciB0ZXN0aW5nIGF0IHN1Y2ggYSBsYXRlIHN0YWdlIGNhbiBjYXVzZSBjb3N0bHkg
cmVkZXNpZ27CoA0KYW5kIGRlbGF5cy4gVGhlIHByaW5jaXBsZSBvZiAqKltTaGlmdCBMZWZ0XSho
dHRwczovL2Rldm9wZWRpYS5vcmcvc2hpZnQtbGVmdCkqKiBpcyB0byB0YWtlIGHCoA0KdGFzayB0
aGF0IGlzIHRyYWRpdGlvbmFsbHkgcGVyZm9ybWVkIGF0IGEgbGF0ZSBzdGFnZSBpbiB0aGUgcHJv
Y2VzcyBhbmQgcGVyZm9ybSB0aGF0IHRhc2vCoA0KYXQgZWFybGllciBzdGFnZXMuIFRoZSBnb2Fs
IGlzIHRvIHNhdmUgdGltZSBieSBhdm9pZGluZyByZWZhY3RvcmluZy4NCg0KVHlwaWNhbGx5LCBw
cm9ibGVtYXRpYyBwYXRjaCByZXZpZXdzIHVuY292ZXIgaXNzdWVzIHN1Y2ggYXMgd3Jvbmcgb3Ig
bWlzc2VkwqANCmFzc3VtcHRpb25zLCBhIHByb2JsZW1hdGljIGFyY2hpdGVjdHVyZSBvciBkZXNp
Z24sIG9yIG90aGVyIGJ1Z3MgdGhhdCByZXF1aXJlwqANCnNpZ25pZmljYW50IHJlLWltcGxlbWVu
dGF0aW9uIG9mIGEgcGF0Y2ggc2VyaWVzIHRvIGZpeCB0aGUgaXNzdWUuDQoNClRoZSBwcmluY2lw
bGUgb2YgKipTaGlmdCBMZWZ0KiogYWxzbyBhcHBsaWVzIGluIGNvZGUgcmV2aWV3cy4gTGV0J3Mg
YXNzdW1lIGEgc2VyaWVzIGhhcw0KYSBtYWpvciBmbGF3OiBpZGVhbGx5LCB0aGlzIGZsYXcgd291
bGQgYmUgcGlja2VkIHVwIGluIHRoZSAqKmZpcnN0IG9yIHNlY29uZCBpdGVyYXRpb24qKiBvZsKg
DQp0aGUgY29kZSByZXZpZXcuIEFzIHNpZ25pZmljYW50IHBhcnRzIG9mIHRoZSBjb2RlIG1heSBo
YXZlIHRvIGJlIHJlLXdyaXR0ZW4sIGl0IGRvZXMgbm90wqANCm1ha2Ugc2Vuc2UgZm9yIHJldmll
d2VycyB0byBoaWdobGlnaHQgbWlub3IgaXNzdWVzIChzdWNoIGFzIHN0eWxlIGlzc3VlcykgdW50
aWwgbWFqb3LCoA0KZmxhd3MgaGF2ZSBiZWVuIGFkZHJlc3NlZC4gQnkgcHJvdmlkaW5nIGZlZWRi
YWNrIG9uIG1pbm9yIGlzc3VlcyByZXZpZXdlcnMgY2F1c2XCoA0KdGhlIGNvZGUgYXV0aG9yIGFu
ZCB0aGVtc2VsdmVzIGV4dHJhIHdvcmsgYnkgYXNraW5nIGZvciBjaGFuZ2VzIHRvIGNvZGUsIHdo
aWNowqANCnVsdGltYXRlbHkgbWF5IGJlIGNoYW5nZWQgbGF0ZXIuDQoNClRoZSBxdWVzdGlvbiB0
aGVuIGJlY29tZXMsIGhvdyBkbyBjb2RlIHJldmlld2VycyBpZGVudGlmeSBtYWpvciBpc3N1ZXMg
ZWFybHk/wqANCi0tLS0NClRoaXMgaXMgd2hlcmUgSSByZWFsbHkgbmVlZCBoZWxwLiBBcmUgdGhl
cmUgYW55IHRpcHMgYW5kIHJlY29tbWVuZGF0aW9ucyB0aGF0IHdlIGNvdWxkIGdpdmU/DQpJIGNh
biBjbGVhcmx5IGhpZ2hsaWdodCB0aGF0IHdlIGhhdmUgUkZDIHNlcmllcywgYnV0IGluIHByYWN0
aWNlIHRoYXQgZG9lcyBub3Qgc29sdmUgdGhlIHByb2JsZW0gYXMgUkZDcyBkb27igJl0IGdldCBw
cmlvcml0aXplZA0KSG93IGRvIHJldmlld2VycyBub3JtYWxseSBhcHByb2FjaCBhIHNlcmllczog
ZG8geW91IGEpIHRha2UgYSBiaWcgcGljdHVyZSB2aWV3IGZpcnN0LCBvciBiKSBkbyBtb3N0IG9m
IHlvdSB3b3JrIHRocm91Z2ggYSBzZXJpZXMgc2VxdWVudGlhbGx5DQoNCkkgdGhlbiBwcm9wb3Nl
IHRvIGNoYW5nZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24gaW4gY29tbXVuaWNhdGlvbi1wcmFjdGlj
ZS5tZA0KLS0tLQ0KIyMjIFByaW9yaXRpemUgc2lnbmlmaWNhbnQgZmxhd3MNCklmIGEgcGF0Y2gg
b3IgcGF0Y2ggc2VyaWVzIGhhcyBzaWduaWZpY2FudCBmbGF3cywgc3VjaCBhcw0KKiBJdCBpcyBi
dWlsdCBvbiB3cm9uZyBhc3N1bXB0aW9ucw0KKiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhlIGFy
Y2hpdGVjdHVyZSBvciB0aGUgZGVzaWduDQoNCml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gZG8g
YSBkZXRhaWxlZCBjb2RlIHJldmlldy4gSW4gc3VjaCBjYXNlcywgaXQgaXMgYmVzdCB0bw0KZm9j
dXMgb24gdGhlIG1ham9yIGlzc3VlcyBmaXJzdCBhbmQgZGVhbCB3aXRoIHN0eWxlIGFuZCBtaW5v
ciBpc3N1ZXMgaW4gYSBzdWJzZXF1ZW50DQpyZXZpZXcuIE5vdCBhbGwgc2VyaWVzIGhhdmUgc2ln
bmlmaWNhbnQgZmxhd3MsIGJ1dCBtb3N0IHNlcmllcyBoYXZlIGRpZmZlcmVudCBjbGFzc2VzIG9m
IA0KY2hhbmdlcyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgYWNjZXB0YW5jZTogY292ZXJpbmcgYSBy
YW5nZSBvZiBtYWpvciBjb2RlIA0KbW9kaWZpY2F0aW9ucyB0byBtaW5vciBjb2RlIHN0eWxlIGZp
eGVzLiBUbyBhdm9pZCBtaXN1bmRlcnN0YW5kaW5ncyBiZXR3ZWVuIA0KcmV2aWV3ZXJzIGFuZCBj
b250cmlidXRvcnMsIGl0IGlzIGltcG9ydGFudCB0byBlc3RhYmxpc2ggYW5kIGFncmVlIHdoZXRo
ZXIgYSBzZXJpZXMgb3IgDQpwYXJ0IG9mIGEgc2VyaWVzIGhhcyBhIHNpZ25pZmljYW50IGZsYXcg
YW5kIGFncmVlIGEgY291cnNlIG9mIGFjdGlvbi4gDQoNCkEgcHJhZ21hdGljIGFwcHJvYWNoIHdv
dWxkIGJlIHRvDQoqIEhpZ2hsaWdodCBwcm9ibGVtYXRpYyBwb3J0aW9ucyBvZiBhIHNlcmllcyBp
biB0aGUgY292ZXIgbGV0dGVyIA0KKiBGb3IgdGhlIHBhdGNoIGF1dGhvciBhbmQgcmV2aWV3ZXIo
cykgdG8gYWdyZWUgdGhhdCBmb3IgcHJvYmxlbWF0aWMgdG8gb21pdCBzdHlsZSBhbmQNCm1pbm9y
IGlzc3VlcyBpbiB0aGUgcmV2aWV3LCB1bnRpbCB0aGUgc2lnbmlmaWNhbnQgZmxhdyBpcyBhZGRy
ZXNzZWQNCg0KVGhpcyBzYXZlcyBib3RoIHRoZSBwYXRjaCBhdXRob3IgYW5kIHJldmlld2VyKHMp
IHRpbWUuIE5vdGUgdGhhdCBzb21lIGJhY2tncm91bmQNCmlzIGNvdmVyZWQgaW4gZGV0YWlsIGlu
IFtQcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzXShyZXNvbHZpbmctZGlzYWdyZWVtZW50Lm1kI3By
b2JsZW1zKS4NCi0tLS0NCkkgdGhpbmsgaXMgYSBwcmFnbWF0aWMgYXBwcm9hY2ggdGhhdCBhZGRy
ZXNzZXMgc29tZSBvZiBKYW4ncyBjb25jZXJucw0KDQpCZXN0IFJlZ2FyZHMNCkxhcnMNCg0KDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVs
Cg==

From mirageos-devel-bounces@lists.xenproject.org Fri Dec 06 09:51:30 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 09:51:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1idAGd-0000Pv-3h; Fri, 06 Dec 2019 09:51:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=z/5o=Z4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1idAGb-0000Po-G1
 for mirageos-devel@lists.xenproject.org; Fri, 06 Dec 2019 09:51:17 +0000
X-Inumbo-ID: f0045af4-180d-11ea-b4e9-bc764e2007e4
Received: from mx1.suse.de (unknown [195.135.220.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f0045af4-180d-11ea-b4e9-bc764e2007e4;
 Fri, 06 Dec 2019 09:51:13 +0000 (UTC)
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
Received: from relay2.suse.de (unknown [195.135.220.254])
 by mx1.suse.de (Postfix) with ESMTP id 5C0ECAC5F;
 Fri,  6 Dec 2019 09:51:12 +0000 (UTC)
To: Lars Kurth <lars.kurth@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
 <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
Date: Fri, 6 Dec 2019 10:51:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
Content-Language: en-US
Subject: Re: [MirageOS-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

T24gMDYuMTIuMjAxOSAwMDo0MSwgTGFycyBLdXJ0aCB3cm90ZToKPiBJIHByb3Bvc2UgdG8gYWRk
IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBjb2RlLXJldmlldy1ndWlkZS5tZAo+IAo+IC0tLS0K
PiAjIyA8YSBuYW1lPSJwcm9ibGVtcyI+PC9hPlByb2JsZW1hdGljIFBhdGNoIFJldmlld3MKPiAK
PiBBIHR5cGljYWwgd2F0ZXJmYWxsIHNvZnR3YXJlIGRldmVsb3BtZW50IHByb2Nlc3MgaXMgc2Vx
dWVudGlhbCB3aXRoIHRoZSBmb2xsb3dpbmfCoAo+IHN0ZXBzOiBkZWZpbmUgcmVxdWlyZW1lbnRz
LCBhbmFseXNlLCBkZXNpZ24sIGNvZGUsIHRlc3QgYW5kIGRlcGxveS4gUHJvYmxlbXPCoAo+IHVu
Y292ZXJlZCBieSBjb2RlIHJldmlldyBvciB0ZXN0aW5nIGF0IHN1Y2ggYSBsYXRlIHN0YWdlIGNh
biBjYXVzZSBjb3N0bHkgcmVkZXNpZ27CoAo+IGFuZCBkZWxheXMuIFRoZSBwcmluY2lwbGUgb2Yg
KipbU2hpZnQgTGVmdF0oaHR0cHM6Ly9kZXZvcGVkaWEub3JnL3NoaWZ0LWxlZnQpKiogaXMgdG8g
dGFrZSBhwqAKPiB0YXNrIHRoYXQgaXMgdHJhZGl0aW9uYWxseSBwZXJmb3JtZWQgYXQgYSBsYXRl
IHN0YWdlIGluIHRoZSBwcm9jZXNzIGFuZCBwZXJmb3JtIHRoYXQgdGFza8KgCj4gYXQgZWFybGll
ciBzdGFnZXMuIFRoZSBnb2FsIGlzIHRvIHNhdmUgdGltZSBieSBhdm9pZGluZyByZWZhY3Rvcmlu
Zy4KPiAKPiBUeXBpY2FsbHksIHByb2JsZW1hdGljIHBhdGNoIHJldmlld3MgdW5jb3ZlciBpc3N1
ZXMgc3VjaCBhcyB3cm9uZyBvciBtaXNzZWTCoAo+IGFzc3VtcHRpb25zLCBhIHByb2JsZW1hdGlj
IGFyY2hpdGVjdHVyZSBvciBkZXNpZ24sIG9yIG90aGVyIGJ1Z3MgdGhhdCByZXF1aXJlwqAKPiBz
aWduaWZpY2FudCByZS1pbXBsZW1lbnRhdGlvbiBvZiBhIHBhdGNoIHNlcmllcyB0byBmaXggdGhl
IGlzc3VlLgo+IAo+IFRoZSBwcmluY2lwbGUgb2YgKipTaGlmdCBMZWZ0KiogYWxzbyBhcHBsaWVz
IGluIGNvZGUgcmV2aWV3cy4gTGV0J3MgYXNzdW1lIGEgc2VyaWVzIGhhcwo+IGEgbWFqb3IgZmxh
dzogaWRlYWxseSwgdGhpcyBmbGF3IHdvdWxkIGJlIHBpY2tlZCB1cCBpbiB0aGUgKipmaXJzdCBv
ciBzZWNvbmQgaXRlcmF0aW9uKiogb2bCoAo+IHRoZSBjb2RlIHJldmlldy4gQXMgc2lnbmlmaWNh
bnQgcGFydHMgb2YgdGhlIGNvZGUgbWF5IGhhdmUgdG8gYmUgcmUtd3JpdHRlbiwgaXQgZG9lcyBu
b3TCoAo+IG1ha2Ugc2Vuc2UgZm9yIHJldmlld2VycyB0byBoaWdobGlnaHQgbWlub3IgaXNzdWVz
IChzdWNoIGFzIHN0eWxlIGlzc3VlcykgdW50aWwgbWFqb3LCoAo+IGZsYXdzIGhhdmUgYmVlbiBh
ZGRyZXNzZWQuIEJ5IHByb3ZpZGluZyBmZWVkYmFjayBvbiBtaW5vciBpc3N1ZXMgcmV2aWV3ZXJz
IGNhdXNlwqAKPiB0aGUgY29kZSBhdXRob3IgYW5kIHRoZW1zZWx2ZXMgZXh0cmEgd29yayBieSBh
c2tpbmcgZm9yIGNoYW5nZXMgdG8gY29kZSwgd2hpY2jCoAo+IHVsdGltYXRlbHkgbWF5IGJlIGNo
YW5nZWQgbGF0ZXIuCj4gCj4gVGhlIHF1ZXN0aW9uIHRoZW4gYmVjb21lcywgaG93IGRvIGNvZGUg
cmV2aWV3ZXJzIGlkZW50aWZ5IG1ham9yIGlzc3VlcyBlYXJseT/CoAo+IC0tLS0KPiBUaGlzIGlz
IHdoZXJlIEkgcmVhbGx5IG5lZWQgaGVscC4gQXJlIHRoZXJlIGFueSB0aXBzIGFuZCByZWNvbW1l
bmRhdGlvbnMgdGhhdCB3ZSBjb3VsZCBnaXZlPwo+IEkgY2FuIGNsZWFybHkgaGlnaGxpZ2h0IHRo
YXQgd2UgaGF2ZSBSRkMgc2VyaWVzLCBidXQgaW4gcHJhY3RpY2UgdGhhdCBkb2VzIG5vdCBzb2x2
ZSB0aGUgcHJvYmxlbSBhcyBSRkNzIGRvbuKAmXQgZ2V0IHByaW9yaXRpemVkCj4gSG93IGRvIHJl
dmlld2VycyBub3JtYWxseSBhcHByb2FjaCBhIHNlcmllczogZG8geW91IGEpIHRha2UgYSBiaWcg
cGljdHVyZSB2aWV3IGZpcnN0LCBvciBiKSBkbyBtb3N0IG9mIHlvdSB3b3JrIHRocm91Z2ggYSBz
ZXJpZXMgc2VxdWVudGlhbGx5CgpBZmFpYyAtIGRlcGVuZHMgaGVhdmlseSBvbiB0aGUgcGF0Y2gg
LyBzZXJpZXMuIEkgd291bGRuJ3QgdHlwaWNhbGx5CnBlZWsgYWhlYWQgaW4gYSBzZXJpZXMsIGJ1
dCBpdCBoYXMgaGFwcGVuZWQuIEJ1dCBhcyB5b3Ugc2F5CihlbHNld2hlcmUpIHRoZSBjb3ZlciBs
ZXR0ZXIgc2hvdWxkIHB1dCBpbiBwbGFjZSB0aGUgImJpZyBwaWN0dXJlIi4KQSBzZXJpZXMgc2hv
dWxkIGdlbmVyYWxseSBiZSByZXZpZXdhYmxlIGdvaW5nIGZyb20gcGF0Y2ggdG8gcGF0Y2gsCmhh
dmluZyB0aGUgY292ZXIgbGV0dGVyIGluIG1pbmQuCgo+IEkgdGhlbiBwcm9wb3NlIHRvIGNoYW5n
ZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24gaW4gY29tbXVuaWNhdGlvbi1wcmFjdGljZS5tZAo+IC0t
LS0KPiAjIyMgUHJpb3JpdGl6ZSBzaWduaWZpY2FudCBmbGF3cwo+IElmIGEgcGF0Y2ggb3IgcGF0
Y2ggc2VyaWVzIGhhcyBzaWduaWZpY2FudCBmbGF3cywgc3VjaCBhcwo+ICogSXQgaXMgYnVpbHQg
b24gd3JvbmcgYXNzdW1wdGlvbnMKPiAqIFRoZXJlIGFyZSBpc3N1ZXMgd2l0aCB0aGUgYXJjaGl0
ZWN0dXJlIG9yIHRoZSBkZXNpZ24KCkluIHN1Y2ggYSBjYXNlIGEgZnVsbCByZXZpZXcgb2YgY291
cnNlIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlLiBCdXQKdGhpcyBpcyBmYXIgZnJvbSB0aGUgdHlw
aWNhbCBzaXR1YXRpb24uIFdheSBtb3JlIG9mdGVuIHlvdSBoYXZlIHNvbWUKX3BhcnRfIG9mIGEg
cGF0Y2ggb3Igc2VyaWVzIHdoaWNoIGhhcyBhIGJpZ2dlciBpc3N1ZSwgYnV0IG90aGVyCnBhcnRz
IGFyZSBpbiBuZWVkIG9mIG5vIG9yIGp1c3QgbWlub3IgY2hhbmdlcy4KCj4gaXQgZG9lcyBub3Qg
bWFrZSBzZW5zZSB0byBkbyBhIGRldGFpbGVkIGNvZGUgcmV2aWV3LiBJbiBzdWNoIGNhc2VzLCBp
dCBpcyBiZXN0IHRvCj4gZm9jdXMgb24gdGhlIG1ham9yIGlzc3VlcyBmaXJzdCBhbmQgZGVhbCB3
aXRoIHN0eWxlIGFuZCBtaW5vciBpc3N1ZXMgaW4gYSBzdWJzZXF1ZW50Cj4gcmV2aWV3LiBOb3Qg
YWxsIHNlcmllcyBoYXZlIHNpZ25pZmljYW50IGZsYXdzLCBidXQgbW9zdCBzZXJpZXMgaGF2ZSBk
aWZmZXJlbnQgY2xhc3NlcyBvZiAKPiBjaGFuZ2VzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciBhY2Nl
cHRhbmNlOiBjb3ZlcmluZyBhIHJhbmdlIG9mIG1ham9yIGNvZGUgCj4gbW9kaWZpY2F0aW9ucyB0
byBtaW5vciBjb2RlIHN0eWxlIGZpeGVzLiBUbyBhdm9pZCBtaXN1bmRlcnN0YW5kaW5ncyBiZXR3
ZWVuIAo+IHJldmlld2VycyBhbmQgY29udHJpYnV0b3JzLCBpdCBpcyBpbXBvcnRhbnQgdG8gZXN0
YWJsaXNoIGFuZCBhZ3JlZSB3aGV0aGVyIGEgc2VyaWVzIG9yIAo+IHBhcnQgb2YgYSBzZXJpZXMg
aGFzIGEgc2lnbmlmaWNhbnQgZmxhdyBhbmQgYWdyZWUgYSBjb3Vyc2Ugb2YgYWN0aW9uLiAKPiAK
PiBBIHByYWdtYXRpYyBhcHByb2FjaCB3b3VsZCBiZSB0bwo+ICogSGlnaGxpZ2h0IHByb2JsZW1h
dGljIHBvcnRpb25zIG9mIGEgc2VyaWVzIGluIHRoZSBjb3ZlciBsZXR0ZXIgCj4gKiBGb3IgdGhl
IHBhdGNoIGF1dGhvciBhbmQgcmV2aWV3ZXIocykgdG8gYWdyZWUgdGhhdCBmb3IgcHJvYmxlbWF0
aWMgdG8gb21pdCBzdHlsZSBhbmQKPiBtaW5vciBpc3N1ZXMgaW4gdGhlIHJldmlldywgdW50aWwg
dGhlIHNpZ25pZmljYW50IGZsYXcgaXMgYWRkcmVzc2VkCj4gCj4gVGhpcyBzYXZlcyBib3RoIHRo
ZSBwYXRjaCBhdXRob3IgYW5kIHJldmlld2VyKHMpIHRpbWUuIE5vdGUgdGhhdCBzb21lIGJhY2tn
cm91bmQKPiBpcyBjb3ZlcmVkIGluIGRldGFpbCBpbiBbUHJvYmxlbWF0aWMgUGF0Y2ggUmV2aWV3
c10ocmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZCNwcm9ibGVtcykuCgpJIGhhdmUgbm8gaXNzdWVz
IHdpdGggdGhlIHN1Z2dlc3RlZCB0ZXh0IGluIGdlbmVyYWwsIGJ1dCBJIGFsc28gZG9uJ3QKdGhp
bmsgaXQgbWFrZXMgbXVjaCBvZiBhIGRpZmZlcmVuY2Ugd3J0IHdoYXQgSSBoYWQgbWVudGlvbmVk
IGJlZm9yZS4KSSBndWVzcyBwYXJ0IG9mIHRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0aGVyZSBh
cmUgdGhpbmdzIHdoaWNoIGltbwp5b3UgY2FuJ3QgcmVhbGx5IGdpdmUgcmVjaXBlcyBmb3IgaG93
IHRvIGFwcHJvYWNoLCBpZiB0aGUgZXhwZWN0YXRpb24KaXMgdGhhdCBpdCB3b3VsZCBmaXQgYXQg
bGVhc3QgdGhlIHZhc3QgbWFqb3JpdHkgb2YgY2FzZXMuIEZvciBjb2RlCnJldmlld3MgdGhpcyBt
ZWFucyB0aGF0IEkgZG9uJ3QgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGFueSB3b3JkaW5nCnN1Z2dl
c3RpbmcgdGhleSBzaG91bGQgYmUgZG9uZSBpbiBhIGNlcnRhaW4gZm9ybTsgdGhlcmUgbWF5IGJl
IHdvcmRpbmcKc3VnZ2VzdGluZyB0aGV5IF9jb3VsZF8gYmUgZG9uZSBpbiBhIGNlcnRhaW4gZm9y
bSAoZS5nLiB0byBoZWxwCnBlb3BsZSBub3Qga25vd2luZyBhdCBhbGwgaG93IHRvIGdldCBzdGFy
dGVkKS4KCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 09 11:02:34 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 11:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ieGo3-0004WD-OO; Mon, 09 Dec 2019 11:02:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qiqY=Z7=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ieGo2-0004Ut-3l
 for mirageos-devel@lists.xenproject.org; Mon, 09 Dec 2019 11:02:22 +0000
X-Inumbo-ID: 57737bea-1a73-11ea-b6f1-bc764e2007e4
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 57737bea-1a73-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 11:02:08 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1575889328;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=4Pm/cEd3k0fmDQ3uIk1PfK8dvmti/m94G5JXLrYkNLI=;
 b=Zg25WXwrG98V/LBKJdgdpvljbfWq2eQ1kxN+0uOnA2EmiUpxEnqplIny
 ub33cyICOHBS0UpxKp8M/uoIEWuIq3vB9dxJy9pkx+RrAV7nW//luAFen
 J/DQFHJHgudYe33pxc7b0WonrwtMOh9JZq/kNTEOEwBOSIqQBsqXCtA+G k=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: NAp/a+kKQIblM80sm1zGZjlBdfLKQW3V0Es7rjBymda5pvpUSCggCEFfNJsHWizVMKsp8bwUhD
 Ua/oGca4SVq7GPaLQvIhmjT1rsyjF7pPWjEVP7bVMRDmTvkQoheNM8d9RMWr3utE3AsT4qhDBG
 CjElYcOIT39JtyShhwi8v++4AI/IMKZxM0F3s20kZOmQ5LoqTqpWIQM1i2t1yt05ymVVdmz13Z
 m59v8DhPLVpMbjsg3jGq5mEJQAodAcADjH7zm24GE4Dq8ipzfdCZD+Ks7wgT3XX8m3VameSdx4
 nWE=
X-SBRS: 2.7
X-MesageID: 9740373
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,294,1571716800"; 
   d="scan'208";a="9740373"
From: Lars Kurth <lars.kurth@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Thread-Topic: [PATCH v2 4/6] Add Code Review Guide
Thread-Index: AQHVrBq0EW+2omlgTEey9HkZgmoHbaexlzOA
Date: Mon, 9 Dec 2019 11:02:03 +0000
Message-ID: <001E0CF6-AD75-4A97-948D-C8240F9D5145@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
 <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
 <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
In-Reply-To: <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
Content-ID: <F2E7AD9B6EAD9947A815FF2A364219AC@citrix.com>
MIME-Version: 1.0
Subject: Re: [MirageOS-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

DQoNCu+7v09uIDA2LzEyLzIwMTksIDA5OjUxLCAiSmFuIEJldWxpY2giIDxqYmV1bGljaEBzdXNl
LmNvbT4gd3JvdGU6DQoNCiAgICBPbiAwNi4xMi4yMDE5IDAwOjQxLCBMYXJzIEt1cnRoIHdyb3Rl
Og0KICAgID4gSSBwcm9wb3NlIHRvIGFkZCB0aGUgZm9sbG93aW5nIHNlY3Rpb24gdG8gY29kZS1y
ZXZpZXctZ3VpZGUubWQNCiAgICA+IA0KICAgID4gLS0tLQ0KICAgID4gIyMgPGEgbmFtZT0icHJv
YmxlbXMiPjwvYT5Qcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzDQogICAgPiANCiAgICA+IEEgdHlw
aWNhbCB3YXRlcmZhbGwgc29mdHdhcmUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBpcyBzZXF1ZW50aWFs
IHdpdGggdGhlIGZvbGxvd2luZyANCiAgICA+IHN0ZXBzOiBkZWZpbmUgcmVxdWlyZW1lbnRzLCBh
bmFseXNlLCBkZXNpZ24sIGNvZGUsIHRlc3QgYW5kIGRlcGxveS4gUHJvYmxlbXMgDQogICAgPiB1
bmNvdmVyZWQgYnkgY29kZSByZXZpZXcgb3IgdGVzdGluZyBhdCBzdWNoIGEgbGF0ZSBzdGFnZSBj
YW4gY2F1c2UgY29zdGx5IHJlZGVzaWduIA0KICAgID4gYW5kIGRlbGF5cy4gVGhlIHByaW5jaXBs
ZSBvZiAqKltTaGlmdCBMZWZ0XShodHRwczovL2Rldm9wZWRpYS5vcmcvc2hpZnQtbGVmdCkqKiBp
cyB0byB0YWtlIGEgDQogICAgPiB0YXNrIHRoYXQgaXMgdHJhZGl0aW9uYWxseSBwZXJmb3JtZWQg
YXQgYSBsYXRlIHN0YWdlIGluIHRoZSBwcm9jZXNzIGFuZCBwZXJmb3JtIHRoYXQgdGFzayANCiAg
ICA+IGF0IGVhcmxpZXIgc3RhZ2VzLiBUaGUgZ29hbCBpcyB0byBzYXZlIHRpbWUgYnkgYXZvaWRp
bmcgcmVmYWN0b3JpbmcuDQogICAgPiANCiAgICA+IFR5cGljYWxseSwgcHJvYmxlbWF0aWMgcGF0
Y2ggcmV2aWV3cyB1bmNvdmVyIGlzc3VlcyBzdWNoIGFzIHdyb25nIG9yIG1pc3NlZCANCiAgICA+
IGFzc3VtcHRpb25zLCBhIHByb2JsZW1hdGljIGFyY2hpdGVjdHVyZSBvciBkZXNpZ24sIG9yIG90
aGVyIGJ1Z3MgdGhhdCByZXF1aXJlIA0KICAgID4gc2lnbmlmaWNhbnQgcmUtaW1wbGVtZW50YXRp
b24gb2YgYSBwYXRjaCBzZXJpZXMgdG8gZml4IHRoZSBpc3N1ZS4NCiAgICA+IA0KICAgID4gVGhl
IHByaW5jaXBsZSBvZiAqKlNoaWZ0IExlZnQqKiBhbHNvIGFwcGxpZXMgaW4gY29kZSByZXZpZXdz
LiBMZXQncyBhc3N1bWUgYSBzZXJpZXMgaGFzDQogICAgPiBhIG1ham9yIGZsYXc6IGlkZWFsbHks
IHRoaXMgZmxhdyB3b3VsZCBiZSBwaWNrZWQgdXAgaW4gdGhlICoqZmlyc3Qgb3Igc2Vjb25kIGl0
ZXJhdGlvbioqIG9mIA0KICAgID4gdGhlIGNvZGUgcmV2aWV3LiBBcyBzaWduaWZpY2FudCBwYXJ0
cyBvZiB0aGUgY29kZSBtYXkgaGF2ZSB0byBiZSByZS13cml0dGVuLCBpdCBkb2VzIG5vdCANCiAg
ICA+IG1ha2Ugc2Vuc2UgZm9yIHJldmlld2VycyB0byBoaWdobGlnaHQgbWlub3IgaXNzdWVzIChz
dWNoIGFzIHN0eWxlIGlzc3VlcykgdW50aWwgbWFqb3IgDQogICAgPiBmbGF3cyBoYXZlIGJlZW4g
YWRkcmVzc2VkLiBCeSBwcm92aWRpbmcgZmVlZGJhY2sgb24gbWlub3IgaXNzdWVzIHJldmlld2Vy
cyBjYXVzZSANCiAgICA+IHRoZSBjb2RlIGF1dGhvciBhbmQgdGhlbXNlbHZlcyBleHRyYSB3b3Jr
IGJ5IGFza2luZyBmb3IgY2hhbmdlcyB0byBjb2RlLCB3aGljaCANCiAgICA+IHVsdGltYXRlbHkg
bWF5IGJlIGNoYW5nZWQgbGF0ZXIuDQogICAgPiANCiAgICA+IFRoZSBxdWVzdGlvbiB0aGVuIGJl
Y29tZXMsIGhvdyBkbyBjb2RlIHJldmlld2VycyBpZGVudGlmeSBtYWpvciBpc3N1ZXMgZWFybHk/
IA0KICAgID4gLS0tLQ0KICAgID4gVGhpcyBpcyB3aGVyZSBJIHJlYWxseSBuZWVkIGhlbHAuIEFy
ZSB0aGVyZSBhbnkgdGlwcyBhbmQgcmVjb21tZW5kYXRpb25zIHRoYXQgd2UgY291bGQgZ2l2ZT8N
CiAgICA+IEkgY2FuIGNsZWFybHkgaGlnaGxpZ2h0IHRoYXQgd2UgaGF2ZSBSRkMgc2VyaWVzLCBi
dXQgaW4gcHJhY3RpY2UgdGhhdCBkb2VzIG5vdCBzb2x2ZSB0aGUgcHJvYmxlbSBhcyBSRkNzIGRv
buKAmXQgZ2V0IHByaW9yaXRpemVkDQogICAgPiBIb3cgZG8gcmV2aWV3ZXJzIG5vcm1hbGx5IGFw
cHJvYWNoIGEgc2VyaWVzOiBkbyB5b3UgYSkgdGFrZSBhIGJpZyBwaWN0dXJlIHZpZXcgZmlyc3Qs
IG9yIGIpIGRvIG1vc3Qgb2YgeW91IHdvcmsgdGhyb3VnaCBhIHNlcmllcyBzZXF1ZW50aWFsbHkN
CiAgICANCiAgICBBZmFpYyAtIGRlcGVuZHMgaGVhdmlseSBvbiB0aGUgcGF0Y2ggLyBzZXJpZXMu
IEkgd291bGRuJ3QgdHlwaWNhbGx5DQogICAgcGVlayBhaGVhZCBpbiBhIHNlcmllcywgYnV0IGl0
IGhhcyBoYXBwZW5lZC4gQnV0IGFzIHlvdSBzYXkNCiAgICAoZWxzZXdoZXJlKSB0aGUgY292ZXIg
bGV0dGVyIHNob3VsZCBwdXQgaW4gcGxhY2UgdGhlICJiaWcgcGljdHVyZSIuDQogICAgQSBzZXJp
ZXMgc2hvdWxkIGdlbmVyYWxseSBiZSByZXZpZXdhYmxlIGdvaW5nIGZyb20gcGF0Y2ggdG8gcGF0
Y2gsDQogICAgaGF2aW5nIHRoZSBjb3ZlciBsZXR0ZXIgaW4gbWluZC4NCg0KSSBhbSB3b25kZXJp
bmcgd2hhdCBvdGhlcnMgZG8uIA0KDQpJIHRoaW5rIGV4cGxhaW5pbmcgdGhlIGJhc2ljIHdvcmst
ZmxvdyBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgYSByZXZpZXdlciBhbmQgY29kZSBhdXRob3IgbWF5
YmUgaW4gYSBzZXBhcmF0ZSBzZWN0aW9uLCB3aGljaCBpcyBub3QgdGllZCB0byB0aGUgcHJvYmxl
bSBjYXNlIHdvdWxkIG1ha2Ugc2Vuc2UuIE1vcmUgaW5wdXQgZnJvbSBvdGhlciBtYWludGFpbmVy
cyB3b3VsZCBiZSB2YWx1YWJsZS4gTXkgZ3V0LWZlZWwgaXMgdGhhdCBtb3N0IHJldmlld2VycyAi
cmVhZCBhbmQgcmV2aWV3IiBzZXJpZXMgc2VxdWVudGlhbGx5LCB3aGljaCBoYXMgaW1wbGljYXRp
b25zIGZvciB0aGUgYXV0aG9yLiBFLmcuDQotIGRvY3MvZGVzaWduIGRvY3Mgc2hvdWxkIGJlIGF0
IHRoZSBiZWdpbm5pbmcgb2YgYSBzZXJpZXMNCi0ga2V5IGhlYWRlciBmaWxlcyBvciBjaGFuZ2Vz
IHRvIHRoZW0gc2hvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBzZXJpZXMNCi0gRXRjDQog
ICANCiAgICA+IEkgdGhlbiBwcm9wb3NlIHRvIGNoYW5nZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24g
aW4gY29tbXVuaWNhdGlvbi1wcmFjdGljZS5tZA0KICAgID4gLS0tLQ0KICAgID4gIyMjIFByaW9y
aXRpemUgc2lnbmlmaWNhbnQgZmxhd3MNCiAgICA+IElmIGEgcGF0Y2ggb3IgcGF0Y2ggc2VyaWVz
IGhhcyBzaWduaWZpY2FudCBmbGF3cywgc3VjaCBhcw0KICAgID4gKiBJdCBpcyBidWlsdCBvbiB3
cm9uZyBhc3N1bXB0aW9ucw0KICAgID4gKiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhlIGFyY2hp
dGVjdHVyZSBvciB0aGUgZGVzaWduDQogICAgDQogICAgSW4gc3VjaCBhIGNhc2UgYSBmdWxsIHJl
dmlldyBvZiBjb3Vyc2UgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UuIEJ1dA0KICAgIHRoaXMgaXMg
ZmFyIGZyb20gdGhlIHR5cGljYWwgc2l0dWF0aW9uLiBXYXkgbW9yZSBvZnRlbiB5b3UgaGF2ZSBz
b21lDQogICAgX3BhcnRfIG9mIGEgcGF0Y2ggb3Igc2VyaWVzIHdoaWNoIGhhcyBhIGJpZ2dlciBp
c3N1ZSwgYnV0IG90aGVyDQogICAgcGFydHMgYXJlIGluIG5lZWQgb2Ygbm8gb3IganVzdCBtaW5v
ciBjaGFuZ2VzLg0KDQpJIGtub3cgdGhhdCB0aGlzIGlzIGFuIHVudXN1YWwgc2l0dWF0aW9uLiBC
dXQgaXQgaGFzIGhhcHBlbmVkIGluIGNsdXN0ZXJzIGZyZXF1ZW50bHkgaW4gdGhlIHBhc3QuDQoN
CkkgYW0gd29uZGVyaW5nIHdoZXRoZXIgd2Ugc2hvdWxkIGludHJvZHVjZSBzb21lIGluZm9ybWFs
IGNvbnZlbnRpb24gdG8gbWFyayBfcGFydF8gb2YgYSBzZXJpZXMgYXMgcHJvYmxlbWF0aWMuIEEg
c2ltcGxlIGV4YW1wbGUgb2YgaG93IHRvIGRvIHRoaXMgaW4gdGhlIGNvdmVyIGxldHRlciB3b3Vs
ZCBkbw0KICAgIA0KICAgID4gaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBkbyBhIGRldGFpbGVk
IGNvZGUgcmV2aWV3LiBJbiBzdWNoIGNhc2VzLCBpdCBpcyBiZXN0IHRvDQogICAgPiBmb2N1cyBv
biB0aGUgbWFqb3IgaXNzdWVzIGZpcnN0IGFuZCBkZWFsIHdpdGggc3R5bGUgYW5kIG1pbm9yIGlz
c3VlcyBpbiBhIHN1YnNlcXVlbnQNCiAgICA+IHJldmlldy4gTm90IGFsbCBzZXJpZXMgaGF2ZSBz
aWduaWZpY2FudCBmbGF3cywgYnV0IG1vc3Qgc2VyaWVzIGhhdmUgZGlmZmVyZW50IGNsYXNzZXMg
b2YgDQogICAgPiBjaGFuZ2VzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciBhY2NlcHRhbmNlOiBjb3Zl
cmluZyBhIHJhbmdlIG9mIG1ham9yIGNvZGUgDQogICAgPiBtb2RpZmljYXRpb25zIHRvIG1pbm9y
IGNvZGUgc3R5bGUgZml4ZXMuIFRvIGF2b2lkIG1pc3VuZGVyc3RhbmRpbmdzIGJldHdlZW4gDQog
ICAgPiByZXZpZXdlcnMgYW5kIGNvbnRyaWJ1dG9ycywgaXQgaXMgaW1wb3J0YW50IHRvIGVzdGFi
bGlzaCBhbmQgYWdyZWUgd2hldGhlciBhIHNlcmllcyBvciANCiAgICA+IHBhcnQgb2YgYSBzZXJp
ZXMgaGFzIGEgc2lnbmlmaWNhbnQgZmxhdyBhbmQgYWdyZWUgYSBjb3Vyc2Ugb2YgYWN0aW9uLiAN
CiAgICA+IA0KICAgID4gQSBwcmFnbWF0aWMgYXBwcm9hY2ggd291bGQgYmUgdG8NCiAgICA+ICog
SGlnaGxpZ2h0IHByb2JsZW1hdGljIHBvcnRpb25zIG9mIGEgc2VyaWVzIGluIHRoZSBjb3ZlciBs
ZXR0ZXIgDQogICAgPiAqIEZvciB0aGUgcGF0Y2ggYXV0aG9yIGFuZCByZXZpZXdlcihzKSB0byBh
Z3JlZSB0aGF0IGZvciBwcm9ibGVtYXRpYyB0byBvbWl0IHN0eWxlIGFuZA0KICAgID4gbWlub3Ig
aXNzdWVzIGluIHRoZSByZXZpZXcsIHVudGlsIHRoZSBzaWduaWZpY2FudCBmbGF3IGlzIGFkZHJl
c3NlZA0KICAgID4gDQogICAgPiBUaGlzIHNhdmVzIGJvdGggdGhlIHBhdGNoIGF1dGhvciBhbmQg
cmV2aWV3ZXIocykgdGltZS4gTm90ZSB0aGF0IHNvbWUgYmFja2dyb3VuZA0KICAgID4gaXMgY292
ZXJlZCBpbiBkZXRhaWwgaW4gW1Byb2JsZW1hdGljIFBhdGNoIFJldmlld3NdKHJlc29sdmluZy1k
aXNhZ3JlZW1lbnQubWQjcHJvYmxlbXMpLg0KICAgIA0KICAgIEkgaGF2ZSBubyBpc3N1ZXMgd2l0
aCB0aGUgc3VnZ2VzdGVkIHRleHQgaW4gZ2VuZXJhbCwgYnV0IEkgYWxzbyBkb24ndA0KICAgIHRo
aW5rIGl0IG1ha2VzIG11Y2ggb2YgYSBkaWZmZXJlbmNlIHdydCB3aGF0IEkgaGFkIG1lbnRpb25l
ZCBiZWZvcmUuDQogICAgSSBndWVzcyBwYXJ0IG9mIHRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0
aGVyZSBhcmUgdGhpbmdzIHdoaWNoIGltbw0KICAgIHlvdSBjYW4ndCByZWFsbHkgZ2l2ZSByZWNp
cGVzIGZvciBob3cgdG8gYXBwcm9hY2gsIGlmIHRoZSBleHBlY3RhdGlvbg0KICAgIGlzIHRoYXQg
aXQgd291bGQgZml0IGF0IGxlYXN0IHRoZSB2YXN0IG1ham9yaXR5IG9mIGNhc2VzLiANCg0KSSB0
aGluayB0aGUgZG9jdW1lbnQgY292ZXJzIG1vc3Qgb2YgdGhlIGNvbW1vbiBjYXNlcywgcGx1cyBz
b21lIGFyZWFzIHdoaWNoIGFyZSBwcm9ibGVtYXRpYw0KKiBGcm9tIGEgcGVvcGxlLWludGVyYWN0
aW9uIHBvaW50LW9mLXZpZXcgLSBpbiBvdGhlciB3b3JkcyB0aGVyZSBjb3VsZCBiZSB1bm5lY2Vz
c2FyeSBjb25mbGljdCwgd2hpY2ggaXMgYmFkIGZvciB0aGUgY29tbXVuaXR5IGJ1dCBhbHNvIHdh
c3RlcyB0aW1lDQoqIEZyb20gYW4gZWZmaWNpZW50IHVzYWdlIG9mIHRpbWUgcG9pbnQtb2Ytdmll
dw0KDQpGb3IgZXhhbXBsZTogdGhlIHdob2xlIHRoaW5nIGFib3V0IHRoYW5raW5nLCBhcHByZWNp
YXRpb24sIC4uLiBpcyBzb21ldGhpbmcgdGFyZ2V0ZWQgYXQgbmV3Y29tZXJzIGFuZCBhIGRlc2ly
ZSB0byB0cmVhdCB0aGVtIHdpdGggbW9yZSB0aG91Z2h0IGFuZCBhd2FyZW5lc3MuIA0KR3JhbnRl
ZCBpdCB0YWtlcyBtb3JlIHRpbWUgdG8gZG8gYSByZXZpZXcgd2l0aCBhIG5ld2NvbWVyLCBidXQg
aXQgc2hvdWxkIG1ha2Ugc3Vic2VxdWVudCByZXZpZXdzIGVhc2llciANCg0KSXQgaGFwcGVucyBy
ZWd1bGFybHksIGJ1dCBub3QgdGhhdCBmcmVxdWVudGx5DQogIA0KICAgIEZvciBjb2RlDQogICAg
cmV2aWV3cyB0aGlzIG1lYW5zIHRoYXQgSSBkb24ndCB0aGluayB0aGVyZSBzaG91bGQgYmUgYW55
IHdvcmRpbmcNCiAgICBzdWdnZXN0aW5nIHRoZXkgc2hvdWxkIGJlIGRvbmUgaW4gYSBjZXJ0YWlu
IGZvcm07IHRoZXJlIG1heSBiZSB3b3JkaW5nDQogICAgc3VnZ2VzdGluZyB0aGV5IF9jb3VsZF8g
YmUgZG9uZSBpbiBhIGNlcnRhaW4gZm9ybSAoZS5nLiB0byBoZWxwDQogICAgcGVvcGxlIG5vdCBr
bm93aW5nIGF0IGFsbCBob3cgdG8gZ2V0IHN0YXJ0ZWQpLg0KDQpUaGF0IHdhcyBkZWZpbml0ZWx5
IG15IGludGVudGlvbi4gTWF5YmUgSSBoYXZlIG5vdCBzdWNjZWVkZWQgaW4gbWFraW5nIHRoaXMg
Y2xlYXIgZW5vdWdoDQoNClJlZ2FyZHMNCkxhcnMNCg0KICAgIA0KDQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 09 15:59:09 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 15:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ieLR8-0008W6-2s; Mon, 09 Dec 2019 15:59:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=gN7q=Z7=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1ieLR7-0008VI-HS
 for mirageos-devel@lists.xenproject.org; Mon, 09 Dec 2019 15:59:01 +0000
X-Inumbo-ID: c4fc5c12-1a9c-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c4fc5c12-1a9c-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 15:58:41 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id f129so15538162wmf.2;
 Mon, 09 Dec 2019 07:58:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
 :references; bh=LEuoM7nnt1N9Lh3gamW0moyVXB37WDZYFE/ywR0vLcs=;
 b=NkN3aTvvgEh0Y00tu9B+LXkYt7ISEBtWoIENfPGUO2GrGxuKj5meMr/9RDNnwZFvYn
 7CMI+UeZZyTQtrY7j1CAvhuAjv/G8yg7wPCsn0dkAMFUSb7TJqUdpE5A2nZbsgSqrfIJ
 lsMq7nSmNsS4FBHE0NPOa5LODZPaBPfK9G7hDYtlKpu2AzXzZoM987Lpfvyz41B+RmoD
 WjsNMRy4XJNTSOdZIF/DliLUv0cBjUb8gFkrt0bzSkKLCm+bXNPk36iz47OE8rj1c7QD
 onNOc1/c66OAeGKPssmBPP5Bjr9801awPTBshDX8DMNKRAYohBkcxPr/Jo9QMRVLYQlN
 /7Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:message-id:mime-version:subject:date
 :in-reply-to:cc:to:references;
 bh=LEuoM7nnt1N9Lh3gamW0moyVXB37WDZYFE/ywR0vLcs=;
 b=hlavfCN5m1QW2rv/zpFcQbNNGmIWawSLVTB7lCSK7j54YmxJZPuKoEN4cSPO+2gzLH
 1yT0ce+T+lg5iWMKZoPg6eYBO+6AmTZLGF9FEgbHq7FEANfQgj8fD3E8aNcMOQP0Obg+
 97t6OCytcQtePaN6sPaV0yrUbdNx9X3yacRE6PZWm2bCnyeqyAhYK4KLXOKwmcyJYdI3
 kPPdTckim/GbG9sOwrvBmUDw1qXXN6YsKvbXjl0bcHi3SZhMrEa7gPjGENcbaEOoW3NL
 ODnlz3WB9D82WejGe9KHBjQU/wF4a31dZrPGpfpGRpwdYcENNrv6z2k/+fPUUPD9712g
 b/Dw==
X-Gm-Message-State: APjAAAW3f0oRmJ2ogXSUaUx79sdlnNXytDK91YIPK5kNRzIo8o3hekyf
 V0RhIQOlLWYZUxaT1VvgRCY=
X-Google-Smtp-Source: APXvYqwOG7Ko5tSjikioPUkz6Dh8/vxmWjCJjgSF/eGDrLbQvZ2CAGrVpwdItGQkjFog3gM9DM0gfA==
X-Received: by 2002:a1c:6456:: with SMTP id y83mr26025587wmb.48.1575907119867; 
 Mon, 09 Dec 2019 07:58:39 -0800 (PST)
Received: from ?IPv6:2a02:c7f:ac18:da00:ed1d:96bc:504f:4472?
 ([2a02:c7f:ac18:da00:ed1d:96bc:504f:4472])
 by smtp.gmail.com with ESMTPSA id z6sm29228987wrw.36.2019.12.09.07.58.38
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 09 Dec 2019 07:58:39 -0800 (PST)
From: Lars Kurth <lars.kurth.xen@gmail.com>
X-Google-Original-From: Lars Kurth <lars.kurth@xenproject.org>
Message-Id: <D7D92602-99D6-4530-8915-0A4C037A505D@xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Mon, 9 Dec 2019 15:58:38 +0000
In-Reply-To: <001E0CF6-AD75-4A97-948D-C8240F9D5145@citrix.com>
To: Lars Kurth <lars.kurth@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
 <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
 <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
 <001E0CF6-AD75-4A97-948D-C8240F9D5145@citrix.com>
X-Mailer: Apple Mail (2.3445.104.11)
Subject: Re: [MirageOS-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 'Jan Beulich' <jbeulich@suse.com>, xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: multipart/mixed; boundary="===============7597429551693023650=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>


--===============7597429551693023650==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3"


--Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8



> On 9 Dec 2019, at 11:02, Lars Kurth <lars.kurth@citrix.com> wrote:
>=20
>=20
>=20
> =EF=BB=BFOn 06/12/2019, 09:51, "Jan Beulich" <jbeulich@suse.com =
<mailto:jbeulich@suse.com>> wrote:
>=20
>    On 06.12.2019 00:41, Lars Kurth wrote:
>> I propose to add the following section to code-review-guide.md
>>=20
>> ----
>> ## <a name=3D"problems"></a>Problematic Patch Reviews
>>=20
>> A typical waterfall software development process is sequential with =
the following=20
>> steps: define requirements, analyse, design, code, test and deploy. =
Problems=20
>> uncovered by code review or testing at such a late stage can cause =
costly redesign=20
>> and delays. The principle of **[Shift =
Left](https://devopedia.org/shift-left)** is to take a=20
>> task that is traditionally performed at a late stage in the process =
and perform that task=20
>> at earlier stages. The goal is to save time by avoiding refactoring.
>>=20
>> Typically, problematic patch reviews uncover issues such as wrong or =
missed=20
>> assumptions, a problematic architecture or design, or other bugs that =
require=20
>> significant re-implementation of a patch series to fix the issue.
>>=20
>> The principle of **Shift Left** also applies in code reviews. Let's =
assume a series has
>> a major flaw: ideally, this flaw would be picked up in the **first or =
second iteration** of=20
>> the code review. As significant parts of the code may have to be =
re-written, it does not=20
>> make sense for reviewers to highlight minor issues (such as style =
issues) until major=20
>> flaws have been addressed. By providing feedback on minor issues =
reviewers cause=20
>> the code author and themselves extra work by asking for changes to =
code, which=20
>> ultimately may be changed later.
>>=20
>> The question then becomes, how do code reviewers identify major =
issues early?=20
>> ----
>> This is where I really need help. Are there any tips and =
recommendations that we could give?
>> I can clearly highlight that we have RFC series, but in practice that =
does not solve the problem as RFCs don=E2=80=99t get prioritized
>> How do reviewers normally approach a series: do you a) take a big =
picture view first, or b) do most of you work through a series =
sequentially
>=20
>    Afaic - depends heavily on the patch / series. I wouldn't typically
>    peek ahead in a series, but it has happened. But as you say
>    (elsewhere) the cover letter should put in place the "big picture".
>    A series should generally be reviewable going from patch to patch,
>    having the cover letter in mind.
>=20
> I am wondering what others do.=20
>=20
> I think explaining the basic work-flow from the viewpoint of a =
reviewer and code author maybe in a separate section, which is not tied =
to the problem case would make sense. More input from other maintainers =
would be valuable. My gut-feel is that most reviewers "read and review" =
series sequentially, which has implications for the author. E.g.
> - docs/design docs should be at the beginning of a series
> - key header files or changes to them should be at the beginning of a =
series
> - Etc
>=20
>> I then propose to change the following section in =
communication-practice.md
>> ----
>> ### Prioritize significant flaws
>> If a patch or patch series has significant flaws, such as
>> * It is built on wrong assumptions
>> * There are issues with the architecture or the design
>=20
>    In such a case a full review of course doesn't make much sense. But
>    this is far from the typical situation. Way more often you have =
some
>    _part_ of a patch or series which has a bigger issue, but other
>    parts are in need of no or just minor changes.
>=20
> I know that this is an unusual situation. But it has happened in =
clusters frequently in the past.
>=20
> I am wondering whether we should introduce some informal convention to =
mark _part_ of a series as problematic. A simple example of how to do =
this in the cover letter would do
>=20
>> it does not make sense to do a detailed code review. In such cases, =
it is best to
>> focus on the major issues first and deal with style and minor issues =
in a subsequent
>> review. Not all series have significant flaws, but most series have =
different classes of=20
>> changes that are required for acceptance: covering a range of major =
code=20
>> modifications to minor code style fixes. To avoid misunderstandings =
between=20
>> reviewers and contributors, it is important to establish and agree =
whether a series or=20
>> part of a series has a significant flaw and agree a course of action.=20=

>>=20
>> A pragmatic approach would be to
>> * Highlight problematic portions of a series in the cover letter=20
>> * For the patch author and reviewer(s) to agree that for problematic =
to omit style and
>> minor issues in the review, until the significant flaw is addressed
>>=20
>> This saves both the patch author and reviewer(s) time. Note that some =
background
>> is covered in detail in [Problematic Patch =
Reviews](resolving-disagreement.md#problems).
>=20
>    I have no issues with the suggested text in general, but I also =
don't
>    think it makes much of a difference wrt what I had mentioned =
before.
>    I guess part of the problem here is that there are things which imo
>    you can't really give recipes for how to approach, if the =
expectation
>    is that it would fit at least the vast majority of cases.=20
>=20
> I think the document covers most of the common cases, plus some areas =
which are problematic
> * =46rom a people-interaction point-of-view - in other words there =
could be unnecessary conflict, which is bad for the community but also =
wastes time
> * =46rom an efficient usage of time point-of-view
>=20
> For example: the whole thing about thanking, appreciation, ... is =
something targeted at newcomers and a desire to treat them with more =
thought and awareness.=20
> Granted it takes more time to do a review with a newcomer, but it =
should make subsequent reviews easier=20
>=20
> It happens regularly, but not that frequently
>=20
>    For code
>    reviews this means that I don't think there should be any wording
>    suggesting they should be done in a certain form; there may be =
wording
>    suggesting they _could_ be done in a certain form (e.g. to help
>    people not knowing at all how to get started).
>=20
> That was definitely my intention. Maybe I have not succeeded in making =
this clear enough

Adding the log of a very productive IRC conversation for reference. =
Sorry for the formatting
Regards
Lars

=E2=80=B9lars_kurth=E2=80=BA     It would also be good if some =
maintainers could have a look at =
https://lists.xenproject.org/archives/html/xen-devel/2019-12/threads.html#=
00348

=E2=80=B9gwd=E2=80=BA		lars_kurth: What exactly more feedback =
did you want?

=E2=80=B9lars_kurth=E2=80=BA     gwd: primarily about maintainers =
workflow. How do you approach a review. Is there anything a code author =
can do. Right now, I have one data point from Jan. I basically want to =
validate my assumptions before I send out another revision

=E2=80=B9lars_kurth=E2=80=BA     gwd: a code author can do to make your =
life easier =3D> e.g. by putting big picture stuff at the beginning of a =
series

=E2=80=B9lars_kurth=E2=80=BA     e.g by putting potentially =
controversial elements of it at the beginning, etc

=E2=80=B9lars_kurth=E2=80=BA     Obviously, this would only help if most =
reviewers approach a review sequentially, which is a reasonable =
assumption, but I am not actually 100% sure this is true

=E2=80=B9royger=E2=80=BA           lars_kurth: patch series must be =
reviewed sequentially, that's why it's numbered

=E2=80=B9gwd=E2=80=BA		lars_kurth: Actually it's often the case =
that you find uncontroversial side clean-up things in the course of =
doing a series; putting those at the beginning means they can be checked =
in independently of the whole series, which makes less work for everyone

=E2=80=B9gwd=E2=80=BA		They can be checked in after v1 or v2, =
and then 1) less work for authors to rebase, 2) less cognitive overhead =
for reviewers to see what's going on.

=E2=80=B9lars_kurth=E2=80=BA     royger: That is not a necessarily =
obvious conclusion - at least for me. But if it is true, we should =
clearly state that

=E2=80=B9lars_kurth=E2=80=BA     gwd: that's interesting. I guess there =
are differing objectives

=E2=80=B9royger=E2=80=BA           I don't think any maintainer/reviewer =
does review non-sequentially, as it would lead to extreme confusion. =
It's quite common for patches on a patch series to rely on the previous =
ones

=E2=80=B9royger=E2=80=BA           lars_kurth: I think it can be safely =
stated

=E2=80=B9lars_kurth=E2=80=BA     1) get uncontroversial / easy to do =
stuff first

=E2=80=B9lars_kurth=E2=80=BA     2) then put more complex things, but =
start with documents/headers/anything that is substantial to understand =
the rest of the changes - if they fit into logical units maybe repeat =
that pattern

=E2=80=B9gwd=E2=80=BA		I think every situation if different.

=E2=80=B9royger=E2=80=BA           the only time you can get non-ordered =
review is if your patch series touches multiple subsystems and you have =
properly splitted this into different patches, in that case each =
subsystem maintainer is likelky to review his ares without looking at =
other patches

=E2=80=B9gwd=E2=80=BA  royger: You're talking about checking in, not =
review I think?

=E2=80=B9gwd=E2=80=BA		Sometimes in a long series, {1,2}/10 =
will be clean-ups; {3-6}/10 will be general reorganisations which don't =
really seem to do anything; and then 7/10 will be the "meat", which =
helps you understand what {3-6}/10 were about.

=E2=80=B9lars_kurth=E2=80=BA     royger, gwd: "It's quite common for =
patches on a patch series to rely on the previous ones" - is an =
important point.

=E2=80=B9gwd=E2=80=BA		Usually it's not possible to put 7/10 =
earlier without making it far more complicated.

=E2=80=B9lars_kurth=E2=80=BA     I think the way how to best structure =
patch series is an important one, and there is practically NO =
information about this. So people learn stuff by trial and error. So I =
think it is worth exploring that

=E2=80=B9gwd=E2=80=BA		It's a bit like saying, "How do you =
teach someone something", or "How do you make an argument to convince =
someone of something". There are patterns, but it's so broad a topic you =
can't really give direct advice.

=E2=80=B9lars_kurth=E2=80=BA     gwd: maybe showing some examples will =
help. I think the problem is that cover letters frequently don't help =
much

=E2=80=B9Diziet=E2=80=BA 		I think what you just said above =
"Sometimes in a long series," would be a very useful thing to put in as =
a general rule.

=E2=80=B9Diziet=E2=80=BA 		gwd: ^

=E2=80=B9Diziet=E2=80=BA 		Sometimes some of these pieces =
will be empty.

=E2=80=B9Diziet=E2=80=BA 		1. cleanups 2. reorgs 3. =
headers/docs/etc. 4. meat 5. cleaning up any infelicities introduced =
temporarily 6. deleting old code

=E2=80=B9Diziet=E2=80=BA 		If there are multiple subsystems =
involved, then these are best separated out where possible, so you end =
up with those 6 categories x N subsystems.

=E2=80=B9gwd=E2=80=BA  		Of course, sometimes there are several =
"meat" patches, which could be ordered in different ways; and then you =
may want to put reorgs in between the meat patches.

=E2=80=B9gwd=E2=80=BA  		The XSA-299 series is an example of =
that.

=E2=80=B9Diziet=E2=80=BA 		In this context I am reminded of =
https://www.chiark.greenend.org.uk/pipermail/sgo-software-discuss/2019/000=
616.html My main achievement for the weekend, in a personal project.

=E2=80=B9gwd=E2=80=BA  		And lars_kurth could probably go back =
over the history and see the series develop; the "meat" patches were =
reorganized several times to try to find out which order created the =
most comprehensible series of individual patches.

=E2=80=B9Diziet=E2=80=BA 		Subject:  New signature key =
arrangements

=E2=80=B9gwd=E2=80=BA  		lars_kurth: And say, if you take a look =
at the golang xenlight bindings series; v1 would have been useless =
without the entire thing being checked in. It's likely that v3 I'll be =
able to check in {1..16}/22, meaning v4 will have a lot fewer patches to =
rebase / recheck.

=E2=80=B9Diziet=E2=80=BA 		I'm not suggesting it as an =
example in this context because I have done much less squashing than =
would be usual in a community like Xen where we have many more reviewers =
so the goal of making review easy and comprehensible is more important =
relative to the goal of later understanding what the original programmer =
was thinking when they wrote soemthing.

=E2=80=B9lars_kurth=E2=80=BA     This is very useful. I think this is =
the missing piece

=E2=80=B9Diziet=E2=80=BA 		But we should provide some =
examples. Do we have good example cover letters we could use ?

=E2=80=B9Diziet=E2=80=BA 		I'm sure there are some libxl =
ones but ideally we would have an example touching multiple subsystems. =
And one which wasn't affected by release constraints.

=E2=80=B9lars_kurth=E2=80=BA     That would be good. Maybe I can write =
something up and put a place-holder in place for good examples, if we =
can't think of one now

=E2=80=B9jbeulich=E2=80=BA         gwd, lars_kurth: The opposite case =
(cleanups last) would often be preferable for series where the "meat" =
one(s) are to be backported, but the cleanups aren't.

=E2=80=B9lars_kurth=E2=80=BA     jbeulich: interesting point. Do you =
have an example?

=E2=80=B9jbeulich=E2=80=BA         An example of what? A series where we =
asked for re-ordering because of the above? If so, I don't think I could =
easily spot one.

=E2=80=B9jbeulich=E2=80=BA         I can tell you though that the above =
is what I would typically do. Most prominently for security fixes *where =
the cleanup is being held back altogether).

=E2=80=B9lars_kurth=E2=80=BA     jbeulich: I will try and put something =
together. I think I have enough to go on

=20




--Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On 9 Dec 2019, at 11:02, Lars Kurth &lt;<a =
href=3D"mailto:lars.kurth@citrix.com" =
class=3D"">lars.kurth@citrix.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">=EF=BB=BFOn =
06/12/2019, 09:51, "Jan Beulich" &lt;</span><a =
href=3D"mailto:jbeulich@suse.com" style=3D"font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">jbeulich@suse.com</a><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">&gt; =
wrote:</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;On 06.12.2019 00:41, Lars Kurth =
wrote:</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"">I =
propose to add the following section to code-review-guide.md<br =
class=3D""><br class=3D"">----<br class=3D"">## &lt;a =
name=3D"problems"&gt;&lt;/a&gt;Problematic Patch Reviews<br class=3D""><br=
 class=3D"">A typical waterfall software development process is =
sequential with the following<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">steps: =
define requirements, analyse, design, code, test and deploy. =
Problems<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">uncovered by code review or testing at such a late stage can =
cause costly redesign<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">and delays. =
The principle of **[Shift Left](<a =
href=3D"https://devopedia.org/shift-left" =
class=3D"">https://devopedia.org/shift-left</a>)** is to take a<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">task that is =
traditionally performed at a late stage in the process and perform that =
task<span class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">at =
earlier stages. The goal is to save time by avoiding refactoring.<br =
class=3D""><br class=3D"">Typically, problematic patch reviews uncover =
issues such as wrong or missed<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">assumptions, =
a problematic architecture or design, or other bugs that require<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">significant =
re-implementation of a patch series to fix the issue.<br class=3D""><br =
class=3D"">The principle of **Shift Left** also applies in code reviews. =
Let's assume a series has<br class=3D"">a major flaw: ideally, this flaw =
would be picked up in the **first or second iteration** of<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">the code =
review. As significant parts of the code may have to be re-written, it =
does not<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">make sense for reviewers to highlight minor issues (such as =
style issues) until major<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">flaws have =
been addressed. By providing feedback on minor issues reviewers =
cause<span class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">the=
 code author and themselves extra work by asking for changes to code, =
which<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">ultimately may be changed later.<br class=3D""><br =
class=3D"">The question then becomes, how do code reviewers identify =
major issues early?<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">----<br class=3D"">This is where I really need help. Are =
there any tips and recommendations that we could give?<br class=3D"">I =
can clearly highlight that we have RFC series, but in practice that does =
not solve the problem as RFCs don=E2=80=99t get prioritized<br =
class=3D"">How do reviewers normally approach a series: do you a) take a =
big picture view first, or b) do most of you work through a series =
sequentially<br class=3D""></blockquote><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;Afaic - depends heavily on the patch / =
series. I wouldn't typically</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;peek ahead in a series, but it has =
happened. But as you say</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;(elsewhere) the cover letter should put in =
place the "big picture".</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;A series should generally be reviewable =
going from patch to patch,</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;having the cover letter in mind.</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I am =
wondering what others do.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I think =
explaining the basic work-flow from the viewpoint of a reviewer and code =
author maybe in a separate section, which is not tied to the problem =
case would make sense. More input from other maintainers would be =
valuable. My gut-feel is that most reviewers "read and review" series =
sequentially, which has implications for the author. E.g.</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">- docs/design =
docs should be at the beginning of a series</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">- key header =
files or changes to them should be at the beginning of a =
series</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">- =
Etc</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"">I =
then propose to change the following section in =
communication-practice.md<br class=3D"">----<br class=3D"">### =
Prioritize significant flaws<br class=3D"">If a patch or patch series =
has significant flaws, such as<br class=3D"">* It is built on wrong =
assumptions<br class=3D"">* There are issues with the architecture or =
the design<br class=3D""></blockquote><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;In such a case a full review of course =
doesn't make much sense. But</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;this is far from the typical situation. Way =
more often you have some</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;_part_ of a patch or series which has a =
bigger issue, but other</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;parts are in need of no or just minor =
changes.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I know that =
this is an unusual situation. But it has happened in clusters frequently =
in the past.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I am =
wondering whether we should introduce some informal convention to mark =
_part_ of a series as problematic. A simple example of how to do this in =
the cover letter would do</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><blockquote type=3D"cite" =
style=3D"font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D"">it does not make sense to do a =
detailed code review. In such cases, it is best to<br class=3D"">focus =
on the major issues first and deal with style and minor issues in a =
subsequent<br class=3D"">review. Not all series have significant flaws, =
but most series have different classes of<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">changes that =
are required for acceptance: covering a range of major code<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">modifications =
to minor code style fixes. To avoid misunderstandings between<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">reviewers =
and contributors, it is important to establish and agree whether a =
series or<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">part of a series has a significant flaw and agree a course of =
action.<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D""><br class=3D"">A pragmatic approach would be to<br class=3D"">*=
 Highlight problematic portions of a series in the cover letter<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">* For the =
patch author and reviewer(s) to agree that for problematic to omit style =
and<br class=3D"">minor issues in the review, until the significant flaw =
is addressed<br class=3D""><br class=3D"">This saves both the patch =
author and reviewer(s) time. Note that some background<br class=3D"">is =
covered in detail in [Problematic Patch =
Reviews](resolving-disagreement.md#problems).<br =
class=3D""></blockquote><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;I have no issues with the suggested text in =
general, but I also don't</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;think it makes much of a difference wrt =
what I had mentioned before.</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;I guess part of the problem here is that =
there are things which imo</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;you can't really give recipes for how to =
approach, if the expectation</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;is that it would fit at least the vast =
majority of cases.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I think the =
document covers most of the common cases, plus some areas which are =
problematic</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">* =46rom a =
people-interaction point-of-view - in other words there could be =
unnecessary conflict, which is bad for the community but also wastes =
time</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">* =46rom an =
efficient usage of time point-of-view</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">For example: the whole thing about thanking, appreciation, =
... is something targeted at newcomers and a desire to treat them with =
more thought and awareness.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">Granted it =
takes more time to do a review with a newcomer, but it should make =
subsequent reviews easier<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">It happens =
regularly, but not that frequently</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;For code</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;reviews this means that I don't think there =
should be any wording</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;suggesting they should be done in a certain =
form; there may be wording</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;suggesting they _could_ be done in a =
certain form (e.g. to help</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;people not knowing at all how to get =
started).</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">That was =
definitely my intention. Maybe I have not succeeded in making this clear =
enough</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""></div></blockquote></div><br class=3D""><div =
class=3D"">Adding the log of a very productive IRC conversation for =
reference. Sorry for the formatting</div><div class=3D"">Regards</div><div=
 class=3D"">Lars</div><div class=3D""><br class=3D""></div><div =
class=3D"">




<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]-->


<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-GB</w:LidThemeOther>
  <w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val=3D"Cambria Math"/>
   <m:brkBin m:val=3D"before"/>
   <m:brkBinSub m:val=3D"&#45;-"/>
   <m:smallFrac m:val=3D"off"/>
   <m:dispDef/>
   <m:lMargin m:val=3D"0"/>
   <m:rMargin m:val=3D"0"/>
   <m:defJc m:val=3D"centerGroup"/>
   <m:wrapIndent m:val=3D"1440"/>
   <m:intLim m:val=3D"subSup"/>
   <m:naryLim m:val=3D"undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"false"
  DefSemiHidden=3D"false" DefQFormat=3D"false" DefPriority=3D"99"
  LatentStyleCount=3D"375">
  <w:LsdException Locked=3D"false" Priority=3D"0" QFormat=3D"true" =
Name=3D"Normal"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" =
Name=3D"heading 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 7"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 8"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 9"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 7"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 8"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 9"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 7"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 8"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 9"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Normal Indent"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"footnote text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"annotation text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"header"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"footer"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index heading"/>
  <w:LsdException Locked=3D"false" Priority=3D"35" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"caption"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"table of figures"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"envelope address"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"envelope return"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"footnote reference"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"annotation reference"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"line number"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"page number"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"endnote reference"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"endnote text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"table of authorities"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"macro"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"toa heading"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"10" QFormat=3D"true" =
Name=3D"Title"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Closing"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Signature"/>
  <w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"Default Paragraph Font"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text Indent"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Message Header"/>
  <w:LsdException Locked=3D"false" Priority=3D"11" QFormat=3D"true" =
Name=3D"Subtitle"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Salutation"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Date"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text First Indent"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text First Indent 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Note Heading"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text Indent 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text Indent 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Block Text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Hyperlink"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"FollowedHyperlink"/>
  <w:LsdException Locked=3D"false" Priority=3D"22" QFormat=3D"true" =
Name=3D"Strong"/>
  <w:LsdException Locked=3D"false" Priority=3D"20" QFormat=3D"true" =
Name=3D"Emphasis"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Document Map"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Plain Text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"E-mail Signature"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Top of Form"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Bottom of Form"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Normal (Web)"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Acronym"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Address"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Cite"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Code"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Definition"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Keyboard"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Preformatted"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Sample"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Typewriter"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Variable"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Normal Table"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"annotation subject"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"No List"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Outline List 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Outline List 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Outline List 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Simple 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Simple 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Simple 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Colorful 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Colorful 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Colorful 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 7"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 8"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 7"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 8"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table 3D effects 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table 3D effects 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table 3D effects 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Contemporary"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Elegant"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Professional"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Subtle 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Subtle 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Web 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Web 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Web 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Balloon Text"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"Table Grid"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Theme"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Placeholder=
 Text"/>
  <w:LsdException Locked=3D"false" Priority=3D"1" QFormat=3D"true" =
Name=3D"No Spacing"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light =
Shading"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List =
1"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid =
1"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful =
List"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful =
Grid"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Revision"/>=

  <w:LsdException Locked=3D"false" Priority=3D"34" QFormat=3D"true"
   Name=3D"List Paragraph"/>
  <w:LsdException Locked=3D"false" Priority=3D"29" QFormat=3D"true" =
Name=3D"Quote"/>
  <w:LsdException Locked=3D"false" Priority=3D"30" QFormat=3D"true"
   Name=3D"Intense Quote"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"19" QFormat=3D"true"
   Name=3D"Subtle Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"21" QFormat=3D"true"
   Name=3D"Intense Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"31" QFormat=3D"true"
   Name=3D"Subtle Reference"/>
  <w:LsdException Locked=3D"false" Priority=3D"32" QFormat=3D"true"
   Name=3D"Intense Reference"/>
  <w:LsdException Locked=3D"false" Priority=3D"33" QFormat=3D"true" =
Name=3D"Book Title"/>
  <w:LsdException Locked=3D"false" Priority=3D"37" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"Bibliography"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"TOC Heading"/>
  <w:LsdException Locked=3D"false" Priority=3D"41" Name=3D"Plain Table =
1"/>
  <w:LsdException Locked=3D"false" Priority=3D"42" Name=3D"Plain Table =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"43" Name=3D"Plain Table =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"44" Name=3D"Plain Table =
4"/>
  <w:LsdException Locked=3D"false" Priority=3D"45" Name=3D"Plain Table =
5"/>
  <w:LsdException Locked=3D"false" Priority=3D"40" Name=3D"Grid Table =
Light"/>
  <w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table =
4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark"/>
  <w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table =
4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark"/>
  <w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Mention"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Smart Hyperlink"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Hashtag"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Unresolved Mention"/>
 </w:LatentStyles>
</xml><![endif]-->

<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->



<!--StartFragment--><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
It
would also be good if some maintainers could have a look at
<a =
href=3D"https://lists.xenproject.org/archives/html/xen-devel/2019-12/threa=
ds.html#00348" =
class=3D"">https://lists.xenproject.org/archives/html/xen-devel/2019-12/th=
reads.html#00348</a><o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>lars_kurth: What
exactly more feedback did you want?<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd:
primarily about maintainers workflow. How do you approach a review. Is =
there
anything a code author can do. Right now, I have one data point from =
Jan. I
basically want to validate my assumptions before I send out another =
revision<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd: a
code author can do to make your life easier =3D&gt; e.g. by putting big =
picture
stuff at the beginning of a series<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
e.g by
putting potentially controversial elements of it at the beginning, =
etc<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
Obviously,
this would only help if most reviewers approach a review sequentially, =
which is
a reasonable assumption, but I am not actually 100% sure this is =
true<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lars_kurth:
patch series must be reviewed sequentially, that's why it's numbered<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>lars_kurth:
Actually it's often the case that you find uncontroversial side clean-up =
things
in the course of doing a series; putting those at the beginning means =
they can
be checked in independently of the whole series, which makes less work =
for
everyone<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=
=BA<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>They can be
checked in after v1 or v2, and then 1) less work for authors to rebase, =
2) less
cognitive overhead for reviewers to see what's going on.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
royger:
That is not a necessarily obvious conclusion - at least for me. But if =
it is
true, we should clearly state that<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd:
that's interesting. I guess there are differing objectives<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I
don't think any maintainer/reviewer does review non-sequentially, as it =
would
lead to extreme confusion. It's quite common for patches on a patch =
series to
rely on the previous ones<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lars_kurth:
I think it can be safely stated<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
1) get
uncontroversial / easy to do stuff first<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
2)
then put more complex things, but start with documents/headers/anything =
that is
substantial to understand the rest of the changes - if they fit into =
logical
units maybe repeat that pattern<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>I think every
situation if different.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the
only time you can get non-ordered review is if your patch series touches
multiple subsystems and you have properly splitted this into different =
patches,
in that case each subsystem maintainer is likelky to review his ares =
without
looking at other patches<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; royger: You're
talking about checking in, not review I think?</p><p =
class=3D"MsoNormal"><o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>Sometimes in a
long series, {1,2}/10 will be clean-ups; {3-6}/10 will be general
reorganisations which don't really seem to do anything; and then 7/10 =
will be
the "meat", which helps you understand what {3-6}/10 were about.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
royger,
gwd: "It's quite common for patches on a patch series to rely on the
previous ones" - is an important point.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>Usually it's not
possible to put 7/10 earlier without making it far more complicated.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
I
think the way how to best structure patch series is an important one, =
and there
is practically NO information about this. So people learn stuff by trial =
and
error. So I think it is worth exploring that<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>It's a bit like
saying, "How do you teach someone something", or "How do you
make an argument to convince someone of something". There are patterns,
but it's so broad a topic you can't really give direct advice.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd:
maybe showing some examples will help. I think the problem is that cover
letters frequently don't help much<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		</span>I =
think what
you just said above "Sometimes in a long series," would be a very
useful thing to put in as a general rule.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>gwd: ^<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diz=
iet=E2=80=BA <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>Sometimes some
of these pieces will be empty.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>1. cleanups 2.
reorgs 3. headers/docs/etc. 4. meat 5. cleaning up any infelicities =
introduced
temporarily 6. deleting old code<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>If there are
multiple subsystems involved, then these are best separated out where =
possible,
so you end up with those 6 categories x N subsystems.<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>Of course, sometimes
there are several "meat" patches, which could be ordered in different
ways; and then you may want to put reorgs in between the meat =
patches.<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=
=BA&nbsp; <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>The XSA-299
series is an example of that.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>In this
context I am reminded of
<a =
href=3D"https://www.chiark.greenend.org.uk/pipermail/sgo-software-discuss/=
2019/000616.html" =
class=3D"">https://www.chiark.greenend.org.uk/pipermail/sgo-software-discu=
ss/2019/000616.html</a>
My main achievement for the weekend, in a personal project.<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>And lars_kurth
could probably go back over the history and see the series develop; the
"meat" patches were reorganized several times to try to find out
which order created the most comprehensible series of individual =
patches.<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diziet=E2=
=80=BA <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>Subject: &nbsp;New signature key arrangements<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>lars_kurth: And
say, if you take a look at the golang xenlight bindings series; v1 would =
have
been useless without the entire thing being checked in. It's likely that =
v3
I'll be able to check in {1..16}/22, meaning v4 will have a lot fewer =
patches
to rebase / recheck.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>I'm not
suggesting it as an example in this context because I have done much =
less
squashing than would be usual in a community like Xen where we have many =
more
reviewers so the goal of making review easy and comprehensible is more
important relative to the goal of later understanding what the original
programmer was thinking when they wrote soemthing.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
This
is very useful. I think this is the missing piece<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>But we should
provide some examples. Do we have good example cover letters we could =
use ?<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=
=BA <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>I'm sure there
are some libxl ones but ideally we would have an example touching =
multiple
subsystems. And one which wasn't affected by release constraints.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
That
would be good. Maybe I can write something up and put a place-holder in =
place
for good examples, if we can't think of one now<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9jbeulich=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; gwd,
lars_kurth: The opposite case (cleanups last) would often be preferable =
for
series where the "meat" one(s) are to be backported, but the cleanups
aren't.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
jbeulich:
interesting point. Do you have an example?<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9jbeulich=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; An
example of what? A series where we asked for re-ordering because of the =
above?
If so, I don't think I could easily spot one.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9jbeulich=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; I
can tell you though that the above is what I would typically do. Most
prominently for security fixes *where the cleanup is being held back
altogether).<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
jbeulich:
I will try and put something together. I think I have enough to go =
on<o:p class=3D""></o:p></p><p class=3D"MsoNormal"><o:p =
class=3D"">&nbsp;</o:p></p>

<!--EndFragment--></div><div class=3D""><br class=3D""></div><div =
class=3D""></div><div class=3D""><br class=3D""></div></body></html>=

--Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3--


--===============7597429551693023650==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============7597429551693023650==--


From mirageos-devel-bounces@lists.xenproject.org Wed Dec 11 10:32:25 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 10:32:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1iezHs-0003VN-JP; Wed, 11 Dec 2019 10:32:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=7m/h=2B=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1iezHq-0003Ul-SC
 for mirageos-devel@lists.xenproject.org; Wed, 11 Dec 2019 10:32:06 +0000
X-Inumbo-ID: 7663de02-1c01-11ea-88e7-bc764e2007e4
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7663de02-1c01-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 10:32:00 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576060321;
 h=from:to:subject:date:message-id:mime-version;
 bh=kZu4asjJ8hKzaLZqUwdoOfDTr3p08JYByLmhR4zFzsw=;
 b=XpAF9KmTpuwTr6GwAuyeMWBX7pwixnDh23v+iousHXMKs7oM9Mv8Iw/L
 aQrshImWbPb8tiQun8Dxii3qtCGDs1Gd+pT+tS26Uz8LclzEMftnZ/J24
 CVUsIYDzpLzoLQbXKCKbVDI7GwLVsHDvYWHvjkFL6xThKbCbqrA8VA5iS 8=;
Authentication-Results: esa1.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: ncTMH9bHGuFmqn0hLoJ/2/bi7NBhcQm6yCqbwEYj/4mw0UWaCFqCEK9YAT7yqEf8SdtY5xsOPd
 MqhOS3cFPe/gmnuf+551yIKCora5ddTbKoPOx4JJVWJUzz9jk3v1CVqfH6IMgdrK+58Q1fZa6w
 HyLXHt8Rce8UCaIHdUbDPOuQ4vRLxsdSUTsP1+AfGBF47CRzBsH6UOgP0eimSYePvXC1yJjylO
 F5dOgRalTyGXhTQzr39pEUXkzoMymSSGIOGJs46QsgldPqIZqMXuup04Yf6RZ89kUniKpCpkcU
 xDA=
X-SBRS: 2.7
X-MesageID: 9643682
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,301,1571716800"; d="scan'208,217";a="9643682"
From: Lars Kurth <lars.kurth@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: Setting up a monthly Xen Project dinner/pub-meeting
Thread-Index: AQHVsA41A7c6bqM9DUWKBy4/mwY0wg==
Date: Wed, 11 Dec 2019 10:31:55 +0000
Message-ID: <5C9AFAA2-DCA1-4D55-9C0F-8D37C7A280E9@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: [MirageOS-devel] Setting up a monthly Xen Project dinner/pub-meeting
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4864445955025724034=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============4864445955025724034==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_"

--_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgYWxsLA0KDQp3aXRoIHF1aXRlIGEgZmV3IHBlb3BsZSB3b3JraW5nIG9uIFhlbiBQcm9qZWN0
IGFjcm9zcyBkaWZmZXJlbnQgY29tcGFuaWVzIGFuZCBvcmdhbmlzYXRpb25zIHRoZXNlIGRheXMs
IEkgd2FzIHdvbmRlcmluZyB3aGV0aGVyIHdlIHNob3VsZCBzZXQgdXAgYSByZWd1bGFyIG1vbnRo
bHkgZ2V0LXRvZ2V0aGVyLiBJIHdvdWxkIGxpa2UgdG8gZ2V0IGEgc2Vuc2UgYXMgdG8NCg0KICAx
LiAgV2hvIHdvdWxkIGJlIHdpbGxpbmcgdG8gdHVybiB1cCDigJMgbmVlZCB0byBnZXQgYSBzZW5z
ZSBvZiBudW1iZXJzLCBiZWNhdXNlIHdlIG5lZWQgdG8gc2VlIHdoZXRoZXIgaXQgaXMgbmVjZXNz
YXJ5IHRvIGJvb2sgYSB0YWJsZQ0KICAyLiAgV2hhdCBkYXkgd291bGQgYmUgYmVzdCBhbmQgd2hh
dCB3ZWVrIG9mIHRoZSBtb250aA0KICAzLiAgV2hldGhlciB3ZSB3b3VsZCBhbHdheXMgY2hvb3Nl
IHRoZSBzYW1lIHZlbnVlIOKAkyB3aGljaCBJIGd1ZXNzIHBhcnRseSBkZXBlbmRzIG9uIHRoZSBh
bnN3ZXIgdG8gYSkuIElmIHRoZSBjb3JlIGdyb3VwIGF0dGVuZGluZyBpcyBsYXJnZXIgdGhhbiA4
IHBlb3BsZSwgd2UgcHJvYmFibHkgbmVlZCB0byBib29rIGEgdGFibGUsIHdoaWNoIGlzIGVhc2ll
ciBpZiB3ZSBjaG9vc2UgdGhlIHNhbWUgdmVudWUNCg0KSWYgdGhlIGFuc3dlciB0byBjKSBpcyBO
Tywgd2Ugc2hvdWxkIHByb2JhYmx5IGhhdmUgYSBsb2NhbCBjb29yZGluYXRvciBhbmQvb3IgZXN0
YWJsaXNoIHdoYXQgdmVudWVzIHdlIGRvIGxpa2UgdG8gZ28gdGhyb3VnaCB3ZWxsIGluIGFkdmFu
Y2UNCg0KRmVlbCBmcmVlIHRvIHZvaWNlIHlvdXIgb3Bpbmlvbg0KDQpSZWdhcmRzDQpMYXJzDQo=

--_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <855CCB6F31EE824680344C33995A3A3E@citrix.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy
IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3Jt
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1i
b3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXBy
aW9yaXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9
DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpw
Lk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdy
YXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4tdG9wOjBjbTsNCgltYXJnaW4t
cmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1hcmdpbi1sZWZ0OjM2LjBwdDsNCglt
YXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToi
Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpzcGFuLkVtYWlsU3R5bGUxNw0KCXttc28tc3R5bGUtdHlw
ZTpwZXJzb25hbC1jb21wb3NlOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0K
CWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhw
b3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29y
ZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0
IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9
DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlzdCBsMA0KCXttc28tbGlzdC1pZDoxNDIzNzk1
MDI0Ow0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0KCW1zby1saXN0LXRlbXBsYXRlLWlkczotODk4
MTg4Mjc2IDY3Njk4NzExIDY3Njk4NzEzIDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4
NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1O30NCkBsaXN0IGwwOmxldmVsMQ0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGV4dDoiJTFcKSI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWwyDQoJe21zby1sZXZl
bC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30N
CkBsaXN0IGwwOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsN
Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJp
Z2h0Ow0KCXRleHQtaW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDQNCgl7bXNvLWxldmVs
LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9y
bWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxl
dmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0Ow0KCXRleHQt
aW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLXRhYi1zdG9wOm5v
bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4w
cHQ7fQ0KQGxpc3QgbDA6bGV2ZWw4DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxv
d2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxldmVsOQ0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0Ow0KCXRleHQtaW5kZW50Oi05LjBw
dDt9DQpvbA0KCXttYXJnaW4tYm90dG9tOjBjbTt9DQp1bA0KCXttYXJnaW4tYm90dG9tOjBjbTt9
DQotLT48L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tR0IiIGxpbms9IiMwNTYzQzEi
IHZsaW5rPSIjOTU0RjcyIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+SGkgYWxsLDxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+d2l0aCBxdWl0ZSBhIGZldyBwZW9w
bGUgd29ya2luZyBvbiBYZW4gUHJvamVjdCBhY3Jvc3MgZGlmZmVyZW50IGNvbXBhbmllcyBhbmQg
b3JnYW5pc2F0aW9ucyB0aGVzZSBkYXlzLCBJIHdhcyB3b25kZXJpbmcgd2hldGhlciB3ZSBzaG91
bGQgc2V0IHVwIGEgcmVndWxhciBtb250aGx5IGdldC10b2dldGhlci4gSSB3b3VsZCBsaWtlIHRv
IGdldCBhIHNlbnNlDQogYXMgdG88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8b2wgc3R5bGU9Im1h
cmdpbi10b3A6MGNtIiBzdGFydD0iMSIgdHlwZT0iYSI+DQo8bGkgY2xhc3M9Ik1zb0xpc3RQYXJh
Z3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaG8gd291bGQgYmUgd2lsbGluZyB0byB0dXJu
IHVwIOKAkyBuZWVkIHRvIGdldCBhIHNlbnNlIG9mIG51bWJlcnMsIGJlY2F1c2Ugd2UgbmVlZCB0
byBzZWUgd2hldGhlciBpdCBpcyBuZWNlc3NhcnkgdG8gYm9vayBhIHRhYmxlPG86cD48L286cD48
L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVm
dDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij5XaGF0IGRheSB3b3VsZCBiZSBiZXN0IGFuZCB3aGF0IHdlZWsgb2YgdGhlIG1vbnRoPG86
cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJt
YXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0Ij5XaGV0aGVyIHdlIHdvdWxkIGFsd2F5cyBjaG9vc2UgdGhlIHNhbWUgdmVu
dWUg4oCTIHdoaWNoIEkgZ3Vlc3MgcGFydGx5IGRlcGVuZHMgb24gdGhlIGFuc3dlciB0byBhKS4g
SWYgdGhlIGNvcmUgZ3JvdXAgYXR0ZW5kaW5nIGlzIGxhcmdlciB0aGFuIDggcGVvcGxlLA0KIHdl
IHByb2JhYmx5IG5lZWQgdG8gYm9vayBhIHRhYmxlLCB3aGljaCBpcyBlYXNpZXIgaWYgd2UgY2hv
b3NlIHRoZSBzYW1lIHZlbnVlPG86cD48L286cD48L3NwYW4+PC9saT48L29sPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5JZiB0aGUgYW5zd2VyIHRvIGMpIGlzIE5PLCB3ZSBzaG91bGQgcHJvYmFibHkg
aGF2ZSBhIGxvY2FsIGNvb3JkaW5hdG9yIGFuZC9vciBlc3RhYmxpc2ggd2hhdCB2ZW51ZXMgd2Ug
ZG8gbGlrZSB0byBnbyB0aHJvdWdoIHdlbGwgaW4gYWR2YW5jZTxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+RmVlbCBmcmVlIHRvIHZvaWNlIHlvdXIgb3Bpbmlvbjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+UmVnYXJkczxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5MYXJzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2JvZHk+DQo8
L2h0bWw+DQo=

--_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_--


--===============4864445955025724034==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============4864445955025724034==--


From mirageos-devel-bounces@lists.xenproject.org Wed Dec 11 11:00:30 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 11:00:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1iezjH-0006Z1-2L; Wed, 11 Dec 2019 11:00:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=7m/h=2B=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1iezjF-0006Ym-4o
 for mirageos-devel@lists.xenproject.org; Wed, 11 Dec 2019 11:00:25 +0000
X-Inumbo-ID: 6ce74bbc-1c05-11ea-8afe-12813bfff9fa
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6ce74bbc-1c05-11ea-8afe-12813bfff9fa;
 Wed, 11 Dec 2019 11:00:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576062022;
 h=from:to:subject:date:message-id:references:in-reply-to:
 mime-version; bh=S6pkcDCjUBjm8nLYdm77JfVsG8Sbs8Zlk1ZLtaXy/bA=;
 b=B7iJknyXi273qoVlInUXWV3xRFCmo6CovqSQB2w8PzkLaxc+p94Cj+U9
 7KVSJvPjrEr8jr8z8//QbVkQSi3N5hPc3WaTAffGJd3n7tSjWC2jeIh8K
 e9IxpHa4BrGTS7rkqhmONnpz+UZqdnx+NtIngzjoj5h/jIoV3LA2037Lb 8=;
Authentication-Results: esa2.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa2.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: ezSDD7cfEKXJV0PgEegLp805espSds5v32nW8ngKiqAbhVuCAvuta/1CR+tpCjRghq/huJzT0h
 6NQEKIyT/ai7PvZTBcziCA7SnspXBXBH5ZkI5LT8Yji4rjB8vSdUd6Tv4jUMLrkEk+HNVhvfT6
 fMbzkAzwvzTfJHmeOYXU5GuNGLf4NgXv/WR5A4lYAEHT6mGLsymQxFSKtt1D1CJQIAg5NhPo5/
 JVKavi8BeOxrILRYujt2cXU5JQ+1IEkyvBaW1Jg2CjL/hEdpI8t9RVVl1DPiIwCAocC7aYlEFM
 Gkw=
X-SBRS: 2.7
X-MesageID: 9521843
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,301,1571716800"; d="scan'208,217";a="9521843"
From: Lars Kurth <lars.kurth@citrix.com>
To: "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, xen-devel
 <xen-devel@lists.xenproject.org>
Thread-Topic: Setting up a monthly Xen Project dinner/pub-meeting
Thread-Index: AQHVsA41A7c6bqM9DUWKBy4/mwY0wqe0s3QA
Date: Wed, 11 Dec 2019 11:00:14 +0000
Message-ID: <CBE71BF8-C791-4C73-9E29-27113B8208A0@citrix.com>
References: <5C9AFAA2-DCA1-4D55-9C0F-8D37C7A280E9@citrix.com>
In-Reply-To: <5C9AFAA2-DCA1-4D55-9C0F-8D37C7A280E9@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [MirageOS-devel] Setting up a monthly Xen Project
 dinner/pub-meeting
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5444996831225385901=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============5444996831225385901==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_"

--_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QW5kIHRoaXMgdGltZSB3aXRoIHRoZSBjb3JyZWN0IGxpc3QuIFJlYWxseSBkZXNwYWlyaW5nIHdp
dGggT3V0bG9vayB3aGljaCBrZWVwcyBhZGRpbmcgcmFuZG9tIG9sZCBjb250YWN0cyB0byBteSBh
ZGRyZXNzIGJvb2sgYW5kIHB1dHMgdGhlbSBpbiBmcm9udCBvZiBmcmVxdWVudGx5IHVzZWQgZW50
cmllcyAoc2lnaCkNCg0KRnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPg0K
RGF0ZTogV2VkbmVzZGF5LCAxMSBEZWNlbWJlciAyMDE5IGF0IDEwOjMxDQpUbzogInhlbi1kZXZl
bEBsaXN0cy54ZW5zb3VyY2UuY29tIiA8eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb20+LCAi
bWlyYWdlb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaXJhZ2Vvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZz4sICJ3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDx3
aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+LCAibWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnIiA8bWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPg0KU3ViamVj
dDogU2V0dGluZyB1cCBhIG1vbnRobHkgWGVuIFByb2plY3QgZGlubmVyL3B1Yi1tZWV0aW5nDQoN
CkhpIGFsbCwNCg0Kd2l0aCBxdWl0ZSBhIGZldyBwZW9wbGUgd29ya2luZyBvbiBYZW4gUHJvamVj
dCBhY3Jvc3MgZGlmZmVyZW50IGNvbXBhbmllcyBhbmQgb3JnYW5pc2F0aW9ucyB0aGVzZSBkYXlz
LCBJIHdhcyB3b25kZXJpbmcgd2hldGhlciB3ZSBzaG91bGQgc2V0IHVwIGEgcmVndWxhciBtb250
aGx5IGdldC10b2dldGhlci4gSSB3b3VsZCBsaWtlIHRvIGdldCBhIHNlbnNlIGFzIHRvDQoNCiAg
MS4gIFdobyB3b3VsZCBiZSB3aWxsaW5nIHRvIHR1cm4gdXAg4oCTIG5lZWQgdG8gZ2V0IGEgc2Vu
c2Ugb2YgbnVtYmVycywgYmVjYXVzZSB3ZSBuZWVkIHRvIHNlZSB3aGV0aGVyIGl0IGlzIG5lY2Vz
c2FyeSB0byBib29rIGEgdGFibGUNCiAgMi4gIFdoYXQgZGF5IHdvdWxkIGJlIGJlc3QgYW5kIHdo
YXQgd2VlayBvZiB0aGUgbW9udGgNCiAgMy4gIFdoZXRoZXIgd2Ugd291bGQgYWx3YXlzIGNob29z
ZSB0aGUgc2FtZSB2ZW51ZSDigJMgd2hpY2ggSSBndWVzcyBwYXJ0bHkgZGVwZW5kcyBvbiB0aGUg
YW5zd2VyIHRvIGEpLiBJZiB0aGUgY29yZSBncm91cCBhdHRlbmRpbmcgaXMgbGFyZ2VyIHRoYW4g
OCBwZW9wbGUsIHdlIHByb2JhYmx5IG5lZWQgdG8gYm9vayBhIHRhYmxlLCB3aGljaCBpcyBlYXNp
ZXIgaWYgd2UgY2hvb3NlIHRoZSBzYW1lIHZlbnVlDQoNCklmIHRoZSBhbnN3ZXIgdG8gYykgaXMg
Tk8sIHdlIHNob3VsZCBwcm9iYWJseSBoYXZlIGEgbG9jYWwgY29vcmRpbmF0b3IgYW5kL29yIGVz
dGFibGlzaCB3aGF0IHZlbnVlcyB3ZSBkbyBsaWtlIHRvIGdvIHRocm91Z2ggd2VsbCBpbiBhZHZh
bmNlDQoNCkZlZWwgZnJlZSB0byB2b2ljZSB5b3VyIG9waW5pb24NCg0KUmVnYXJkcw0KTGFycw0K

--_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <6B42F4F0AFC1FE418F1C28CA6D5970D8@citrix.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy
IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3Jt
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1i
b3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXBy
aW9yaXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9
DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpw
Lk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdy
YXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4tdG9wOjBjbTsNCgltYXJnaW4t
cmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1hcmdpbi1sZWZ0OjM2LjBwdDsNCglt
YXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToi
Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpwLm1zb25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5t
c29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCgltc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ow0KCW1hcmdpbi1sZWZ0OjBjbTsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJD
YWxpYnJpIixzYW5zLXNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE5DQoJe21zby1zdHlsZS10eXBl
OnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndp
bmRvd3RleHQ7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjANCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwt
cmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93
dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglm
b250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzky
LjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2Vj
dGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9ucyAqLw0KQGxp
c3QgbDANCgl7bXNvLWxpc3QtaWQ6MTQyMzc5NTAyNDsNCgltc28tbGlzdC10eXBlOmh5YnJpZDsN
Cgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTg5ODE4ODI3NiA2NzY5ODcxMSA2NzY5ODcxMyA2NzY5
ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcx
NTt9DQpAbGlzdCBsMDpsZXZlbDENCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93
ZXI7DQoJbXNvLWxldmVsLXRleHQ6IiUxXCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30N
CkBsaXN0IGwwOmxldmVsMg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsN
Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxl
ZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDMNCgl7bXNvLWxldmVs
LW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJ
bXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0K
QGxpc3QgbDA6bGV2ZWw0DQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxl
dmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1p
bmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDYNCgl7bXNvLWxldmVsLW51bWJlci1mb3Jt
YXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51
bWJlci1wb3NpdGlvbjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0KQGxpc3QgbDA6bGV2
ZWw3DQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxldmVsOA0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBw
dDt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93
ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0KQGxpc3QgbDENCgl7bXNvLWxpc3QtaWQ6
MjA4OTYxNzU2NzsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTEyNDMwODI2OTQ7fQ0KQGxpc3Qg
bDE6bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1s
ZXZlbC10YWItc3RvcDozNi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K
CXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDo3Mi4wcHQ7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxp
c3QgbDE6bGV2ZWwzDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1z
by1sZXZlbC10YWItc3RvcDoxMDguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm
dDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwxOmxldmVsNA0KCXttc28tbGV2ZWwt
bnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MTQ0LjBwdDsN
Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9
DQpAbGlzdCBsMTpsZXZlbDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE4MC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWw2DQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDoyMTYu
MHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTgu
MHB0O30NCkBsaXN0IGwxOmxldmVsNw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1s
b3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MjUyLjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBv
c2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMTpsZXZlbDgNCgl7
bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50
Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFs
cGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDozMjQuMHB0Ow0KCW1zby1sZXZlbC1udW1i
ZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCm9sDQoJe21hcmdpbi1i
b3R0b206MGNtO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGNtO30NCi0tPjwvc3R5bGU+DQo8L2hl
YWQ+DQo8Ym9keSBsYW5nPSJFTi1HQiIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiPg0K
PGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij5BbmQgdGhpcyB0aW1lIHdpdGggdGhlIGNvcnJlY3QgbGlz
dC4gUmVhbGx5IGRlc3BhaXJpbmcgd2l0aCBPdXRsb29rIHdoaWNoIGtlZXBzIGFkZGluZyByYW5k
b20gb2xkIGNvbnRhY3RzIHRvIG15IGFkZHJlc3MgYm9vayBhbmQgcHV0cyB0aGVtIGluIGZyb250
IG9mIGZyZXF1ZW50bHkgdXNlZCBlbnRyaWVzIChzaWdoKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXIt
dG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPkZyb206IDwvc3Bh
bj48L2I+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj5MYXJzIEt1cnRoICZsdDtsYXJzLmt1cnRo
QGNpdHJpeC5jb20mZ3Q7PGJyPg0KPGI+RGF0ZTogPC9iPldlZG5lc2RheSwgMTEgRGVjZW1iZXIg
MjAxOSBhdCAxMDozMTxicj4NCjxiPlRvOiA8L2I+JnF1b3Q7eGVuLWRldmVsQGxpc3RzLnhlbnNv
dXJjZS5jb20mcXVvdDsgJmx0O3hlbi1kZXZlbEBsaXN0cy54ZW5zb3VyY2UuY29tJmd0OywgJnF1
b3Q7bWlyYWdlb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcmcXVvdDsgJmx0O21pcmFnZW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnJmd0OywgJnF1b3Q7d2luLXB2LWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnJnF1b3Q7ICZsdDt3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcmZ3Q7LCAmcXVvdDttaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcmcXVvdDsNCiAm
bHQ7bWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6
IDwvYj5TZXR0aW5nIHVwIGEgbW9udGhseSBYZW4gUHJvamVjdCBkaW5uZXIvcHViLW1lZXRpbmc8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+SGkgYWxsLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+d2l0aCBxdWl0ZSBhIGZldyBwZW9wbGUgd29ya2luZyBvbiBYZW4gUHJvamVjdCBhY3Jvc3Mg
ZGlmZmVyZW50IGNvbXBhbmllcyBhbmQgb3JnYW5pc2F0aW9ucyB0aGVzZSBkYXlzLCBJIHdhcyB3
b25kZXJpbmcgd2hldGhlciB3ZSBzaG91bGQgc2V0IHVwIGEgcmVndWxhciBtb250aGx5IGdldC10
b2dldGhlci4gSSB3b3VsZCBsaWtlIHRvIGdldCBhIHNlbnNlDQogYXMgdG88L3NwYW4+PG86cD48
L286cD48L3A+DQo8b2wgc3R5bGU9Im1hcmdpbi10b3A6MGNtIiBzdGFydD0iMSIgdHlwZT0iYSI+
DQo8bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNv
LWxpc3Q6bDAgbGV2ZWwxIGxmbzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaG8g
d291bGQgYmUgd2lsbGluZyB0byB0dXJuIHVwIOKAkyBuZWVkIHRvIGdldCBhIHNlbnNlIG9mIG51
bWJlcnMsIGJlY2F1c2Ugd2UgbmVlZCB0byBzZWUgd2hldGhlciBpdCBpcyBuZWNlc3NhcnkgdG8g
Ym9vayBhIHRhYmxlPC9zcGFuPjxvOnA+PC9vOnA+PC9saT48bGkgY2xhc3M9Ik1zb0xpc3RQYXJh
Z3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzMiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaGF0IGRheSB3b3VsZCBiZSBiZXN0IGFuZCB3
aGF0IHdlZWsgb2YgdGhlIG1vbnRoPC9zcGFuPjxvOnA+PC9vOnA+PC9saT48bGkgY2xhc3M9Ik1z
b0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwx
IGxmbzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaGV0aGVyIHdlIHdvdWxkIGFs
d2F5cyBjaG9vc2UgdGhlIHNhbWUgdmVudWUg4oCTIHdoaWNoIEkgZ3Vlc3MgcGFydGx5IGRlcGVu
ZHMgb24gdGhlIGFuc3dlciB0byBhKS4gSWYgdGhlIGNvcmUgZ3JvdXAgYXR0ZW5kaW5nIGlzIGxh
cmdlciB0aGFuIDggcGVvcGxlLA0KIHdlIHByb2JhYmx5IG5lZWQgdG8gYm9vayBhIHRhYmxlLCB3
aGljaCBpcyBlYXNpZXIgaWYgd2UgY2hvb3NlIHRoZSBzYW1lIHZlbnVlPC9zcGFuPjxvOnA+PC9v
OnA+PC9saT48L29sPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5JZiB0aGUgYW5zd2VyIHRvIGMpIGlz
IE5PLCB3ZSBzaG91bGQgcHJvYmFibHkgaGF2ZSBhIGxvY2FsIGNvb3JkaW5hdG9yIGFuZC9vciBl
c3RhYmxpc2ggd2hhdCB2ZW51ZXMgd2UgZG8gbGlrZSB0byBnbyB0aHJvdWdoIHdlbGwgaW4gYWR2
YW5jZTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+RmVlbCBmcmVl
IHRvIHZvaWNlIHlvdXIgb3Bpbmlvbjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+UmVnYXJkczwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5MYXJzPC9zcGFuPjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_--


--===============5444996831225385901==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============5444996831225385901==--


From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:15:37 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVnw-0006ID-4s; Thu, 12 Dec 2019 21:15:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVnv-0006I8-9a
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:15:23 +0000
X-Inumbo-ID: 736d2acc-1d24-11ea-8e25-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 736d2acc-1d24-11ea-8e25-12813bfff9fa;
 Thu, 12 Dec 2019 21:14:58 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnT-00015T-M4; Thu, 12 Dec 2019 21:14:55 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnT-0000Bm-F1; Thu, 12 Dec 2019 21:14:55 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:30 +0000
Message-Id: <1f54362a58bfb5bba6459eb31e408aeabebc66e6.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 3/7] Reformat Xen Project CoC to fit
 into 80 character limit
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKTm8gY29udGVudCBjaGFu
Z2VzCgpTaWduZWQtb2ZmLWJ5OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+Ci0t
LQpDYzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3Rz
LnhlbnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IG1pcmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnBy
b2plY3Qub3JnCi0tLQogY29kZS1vZi1jb25kdWN0Lm1kIHwgNTYgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkg
aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29kZS1vZi1jb25k
dWN0Lm1kIGIvY29kZS1vZi1jb25kdWN0Lm1kCmluZGV4IDVkNmQxZDUuLjQ5MTJmNDcgMTAwNjQ0
Ci0tLSBhL2NvZGUtb2YtY29uZHVjdC5tZAorKysgYi9jb2RlLW9mLWNvbmR1Y3QubWQKQEAgLTUs
MTYgKzUsMTYgQEAKIEluIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBhbmQgd2Vs
Y29taW5nIGVudmlyb25tZW50LCB3ZSBhcwogY29udHJpYnV0b3JzIGFuZCBtYWludGFpbmVycyBw
bGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAogb3VyIGNvbW11
bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVnYXJkbGVz
cyBvZiBhZ2UsIGJvZHkKLXNpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNoYXJhY3Rl
cmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAotbGV2ZWwgb2YgZXhwZXJp
ZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5LCBwZXJz
b25hbAotYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0eSBhbmQg
b3JpZW50YXRpb24uCitzaXplLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHNleCBjaGFyYWN0ZXJp
c3RpY3MsIGdlbmRlciBpZGVudGl0eSBhbmQKK2V4cHJlc3Npb24sIGxldmVsIG9mIGV4cGVyaWVu
Y2UsIGVkdWNhdGlvbiwgc29jaW8tZWNvbm9taWMgc3RhdHVzLCBuYXRpb25hbGl0eSwKK3BlcnNv
bmFsIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1YWwgaWRlbnRpdHkgYW5kIG9y
aWVudGF0aW9uLgogCiAjIyBPdXIgU3RhbmRhcmRzCiAKIFdlIGJlbGlldmUgdGhhdCBhIENvZGUg
b2YgQ29uZHVjdCBjYW4gaGVscCBjcmVhdGUgYSBoYXJhc3NtZW50LWZyZWUgZW52aXJvbm1lbnQs
CiBidXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gY3JlYXRlIGEgd2VsY29taW5nIGVudmlyb25tZW50
IG9uIGl0cyBvd246IGd1aWRhbmNlIG9uCi1jcmVhdGluZyBhIHdlbGNvbWluZyBlbnZpcm9ubWVu
dCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBhbmQgZnJpZW5kbHkKLXdheSwg
ZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdKGNvbW11bmljYXRpb24tZ3VpZGUubWQpLgorY3JlYXRp
bmcgYSB3ZWxjb21pbmcgZW52aXJvbm1lbnQsIGhvdyB0byBjb21tdW5pY2F0ZSBpbiBhbiBlZmZl
Y3RpdmUgYW5kCitmcmllbmRseSB3YXksIGV0Yy4gY2FuIGJlIGZvdW5kIFtoZXJlXShjb21tdW5p
Y2F0aW9uLWd1aWRlLm1kKS4KIAogRXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5
IHBhcnRpY2lwYW50cyBpbmNsdWRlOgogCkBAIC0yOSw0MSArMjksNDMgQEAgRXhhbXBsZXMgb2Yg
dW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRlOgogCiAjIyBPdXIg
UmVzcG9uc2liaWxpdGllcwogCi1Qcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSBy
ZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKLWJl
aGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3Jy
ZWN0aXZlIGFjdGlvbiBpbgotcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFi
bGUgYmVoYXZpb3IuCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mCithY2NlcHRhYmxlIGJlaGF2aW9y
IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZl
CithY3Rpb24gaW4gcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVo
YXZpb3IuCiAKLVByb2plY3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQg
YW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKLXJlamVjdCBjb21tZW50cywg
Y29tbWl0cywgY29kZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9u
cwotdGhhdCBhcmUgbm90IGFsaWduZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJh
biB0ZW1wb3JhcmlseSBvcgotcGVybWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBi
ZWhhdmlvcnMgdGhhdCB0aGV5IGRlZW0gaW5hcHByb3ByaWF0ZSwKLXRocmVhdGVuaW5nLCBvZmZl
bnNpdmUsIG9yIGhhcm1mdWwuCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGhhdmUg
dGhlIHJpZ2h0IGFuZCByZXNwb25zaWJpbGl0eSB0byByZW1vdmUsCitlZGl0LCBvciByZWplY3Qg
Y29tbWVudHMsIGNvbW1pdHMsIGNvZGUsIHdpa2kgZWRpdHMsIGlzc3VlcywgYW5kIG90aGVyCitj
b250cmlidXRpb25zIHRoYXQgYXJlIG5vdCBhbGlnbmVkIHRvIHRoaXMgQ29kZSBvZiBDb25kdWN0
LCBvciB0byBiYW4KK3RlbXBvcmFyaWx5IG9yIHBlcm1hbmVudGx5IGFueSBjb250cmlidXRvciBm
b3Igb3RoZXIgYmVoYXZpb3JzIHRoYXQgdGhleSBkZWVtCitpbmFwcHJvcHJpYXRlLCB0aHJlYXRl
bmluZywgb2ZmZW5zaXZlLCBvciBoYXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2Yg
Q29uZHVjdCBhcHBsaWVzIHdpdGhpbiBhbGwgcHJvamVjdCBzcGFjZXMgb2YgYWxsIHN1Yi1wcm9q
ZWN0cywgYW5kIGl0IGFsc28gYXBwbGllcyB3aGVuCi1hbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2Vu
dGluZyB0aGUgcHJvamVjdCBvciBpdHMgY29tbXVuaXR5IGluIHB1YmxpYyBzcGFjZXMuCi1FeGFt
cGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0eSBpbmNsdWRlIHVzaW5n
IGFuIG9mZmljaWFsCi1wcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0aW5nIHZpYSBhbiBvZmZp
Y2lhbCBzb2NpYWwgbWVkaWEgYWNjb3VudCwgb3IgYWN0aW5nCi1hcyBhbiBhcHBvaW50ZWQgcmVw
cmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUgZXZlbnQuIFJlcHJlc2VudGF0aW9u
IG9mCi1hIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQgY2xhcmlmaWVkIGJ5IHRo
ZSBwcm9qZWN0IGxlYWRlcnNoaXAuCitUaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdpdGhp
biBhbGwgcHJvamVjdCBzcGFjZXMgb2YgYWxsIHN1Yi1wcm9qZWN0cywKK2FuZCBpdCBhbHNvIGFw
cGxpZXMgd2hlbiBhbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBp
dHMKK2NvbW11bml0eSBpbiBwdWJsaWMgc3BhY2VzLiBFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcg
YSBwcm9qZWN0IG9yIGNvbW11bml0eQoraW5jbHVkZSB1c2luZyBhbiBvZmZpY2lhbCBwcm9qZWN0
IGUtbWFpbCBhZGRyZXNzLCBwb3N0aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwKK21lZGlhIGFj
Y291bnQsIG9yIGFjdGluZyBhcyBhbiBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25s
aW5lIG9yIG9mZmxpbmUKK2V2ZW50LiBSZXByZXNlbnRhdGlvbiBvZiBhIHByb2plY3QgbWF5IGJl
IGZ1cnRoZXIgZGVmaW5lZCBhbmQgY2xhcmlmaWVkIGJ5IHRoZQorcHJvamVjdCBsZWFkZXJzaGlw
LgogCiAjIyBXaGF0IHRvIGRvIGlmIHlvdSB3aXRuZXNzIG9yIGFyZSBzdWJqZWN0IHRvIHVuYWNj
ZXB0YWJsZSBiZWhhdmlvcgogCiBJbnN0YW5jZXMgb2YgYWJ1c2l2ZSwgaGFyYXNzaW5nLCBvciBv
dGhlcndpc2UgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIG1heSBiZQogcmVwb3J0ZWQgYnkgY29udGFj
dGluZyBDb25kdWN0IFRlYW0gbWVtYmVycyBhdCBjb25kdWN0QHhlbnByb2plY3Qub3JnLiBBbGwK
IGNvbXBsYWludHMgd2lsbCBiZSByZXZpZXdlZCBhbmQgaW52ZXN0aWdhdGVkIGFuZCB3aWxsIHJl
c3VsdCBpbiBhIHJlc3BvbnNlIHRoYXQKLWlzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJp
YXRlIHRvIHRoZSBjaXJjdW1zdGFuY2VzLiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUKLW9ibGln
YXRlZCB0byBtYWludGFpbiBjb25maWRlbnRpYWxpdHkgd2l0aCByZWdhcmQgdG8gdGhlIHJlcG9y
dGVyIG9mIGFuIGluY2lkZW50LgotRnVydGhlciBkZXRhaWxzIG9mIHNwZWNpZmljIGVuZm9yY2Vt
ZW50IHBvbGljaWVzIG1heSBiZSBwb3N0ZWQgc2VwYXJhdGVseS4KK2lzIGRlZW1lZCBuZWNlc3Nh
cnkgYW5kIGFwcHJvcHJpYXRlIHRvIHRoZSBjaXJjdW1zdGFuY2VzLiBDb25kdWN0IFRlYW0gbWVt
YmVycworYXJlIG9ibGlnYXRlZCB0byBtYWludGFpbiBjb25maWRlbnRpYWxpdHkgd2l0aCByZWdh
cmQgdG8gdGhlIHJlcG9ydGVyIG9mIGFuCitpbmNpZGVudC4gRnVydGhlciBkZXRhaWxzIG9mIHNw
ZWNpZmljIGVuZm9yY2VtZW50IHBvbGljaWVzIG1heSBiZSBwb3N0ZWQKK3NlcGFyYXRlbHkuCiAK
IElmIHlvdSBoYXZlIGNvbmNlcm5zIGFib3V0IGFueSBvZiB0aGUgbWVtYmVycyBvZiB0aGUgY29u
ZHVjdEAgYWxpYXMsCiB5b3UgYXJlIHdlbGNvbWUgdG8gY29udGFjdCBwcmVjaXNlbHkgdGhlIENv
bmR1Y3QgVGVhbSBtZW1iZXIocykgb2YKIHlvdXIgY2hvaWNlLgogCi1Qcm9qZWN0IGxlYWRlcnNo
aXAgdGVhbSBtZW1iZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2Yg
Q29uZHVjdCBpbiBnb29kCi1mYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJl
cGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgotbWVtYmVycyBvZiB0aGUgcHJvamVj
dCdzIGxlYWRlcnNoaXAuCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHdobyBkbyBu
b3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdAoraW4gZ29vZCBmYWl0aCBt
YXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5l
ZCBieQorb3RoZXIgbWVtYmVycyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCiAKICMjIENv
bmR1Y3QgVGVhbSBtZW1iZXJzCiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUgcHJvamVjdCBsZWFk
ZXJzaGlwIHRlYW0gbWVtYmVycyBmcm9tIGFueQpAQCAtNzgsOCArODAsOCBAQCBwb3N0ZWQgb24g
YWxsIHN1Yi1wcm9qZWN0IGxpc3RzLCBmb2xsb3dlZCBieSBhIGZvcm1hbCBnbG9iYWwgdm90ZSBh
cyBvdXRsaW5lZAogCiAjIyBBdHRyaWJ1dGlvbgogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBpcyBh
ZGFwdGVkIGZyb20gdGhlIFtDb250cmlidXRvciBDb3ZlbmFudF1baG9tZXBhZ2VdLCB2ZXJzaW9u
IDEuNCwKLWF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcv
dmVyc2lvbi8xLzQvY29kZS1vZi1jb25kdWN0Lmh0bWwKK1RoaXMgQ29kZSBvZiBDb25kdWN0IGlz
IGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50XVtob21lcGFnZV0sCit2ZXJz
aW9uIDEuNCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9y
Zy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3QuaHRtbAogCiBbaG9tZXBhZ2VdOiBodHRwczov
L3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcKIAotLSAKMi4xMy4wCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:15:37 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVo6-0006JF-Iu; Thu, 12 Dec 2019 21:15:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVo5-0006Iv-H2
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:15:33 +0000
X-Inumbo-ID: 73593ba2-1d24-11ea-b6f1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 73593ba2-1d24-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 21:14:58 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnS-00015L-LK; Thu, 12 Dec 2019 21:14:54 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnS-0000Bm-Dt; Thu, 12 Dec 2019 21:14:54 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:29 +0000
Message-Id: <469326764ec7da37796adf429d61173207798816.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 2/7] Xen Project Code of Conduct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU3BlY2lmaWMgY2hhbmdl
cyB0byB0aGUgYmFzZWxpbmU6CiogUmVwbGFjZSBsaXN0IG9mIHBvc2l0aXZlIGJlaGF2aW9ycyB3
aXRoIGxpbmsgdG8gc2VwYXJhdGUgcHJvY2VzcwoqIFJlcGxhY2UgbWFpbnRhaW5lcnMgd2l0aCBw
cm9qZWN0IGxlYWRlcnNoaXAKICAoZXhjZXB0IGluIG91ciBwbGVkZ2Ugd2hlcmUgbWFpbnRhaW5l
cnMgaXMgbW9yZSBhcHByb3ByaWF0ZSkKKiBBZGQgJ29mIGFsbCBzdWItcHJvamVjdHMnIHRvIGNs
YXJpZnkgc2NvcGUgb2YgQ29DCiogUmVuYW1lIEVuZm9yY2VtZW50CiogUmVwbGFjZSAicHJvamVj
dCB0ZWFtIiB3aXRoICJDb25kdWN0IFRlYW0gbWVtYmVycyIKKiBBZGQgZS1tYWlsIGFsaWFzCiog
QWRkIHNlY3Rpb24gb24gY29udGFjdGluZyBpbmRpdmlkdWFsIENvbmR1Y3QgVGVhbSBtZW1iZXJz
CiogQWRkIHNlY3Rpb24gb24gQ29uZHVjdCBUZWFtIG1lbWJlcnMKClNpZ25lZC1vZmYtYnk6IExh
cnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4KLS0tCkNoYWdnZXMgc2luY2UgdjE6Ciog
QWRkcmVzc2VkIG5ld2xpbmUgY2hhbmdlcwoKQ2M6IG1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpDYzogeGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBtaXJhZ2Vvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpDYzogY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZwotLS0KIGNvZGUtb2YtY29uZHVjdC5t
ZCB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBm
aWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL2NvZGUtb2YtY29uZHVjdC5tZCBiL2NvZGUtb2YtY29uZHVjdC5tZAppbmRleCA4MWIyMTdj
Li41ZDZkMWQ1IDEwMDY0NAotLS0gYS9jb2RlLW9mLWNvbmR1Y3QubWQKKysrIGIvY29kZS1vZi1j
b25kdWN0Lm1kCkBAIC0xLDQgKzEsNCBAQAotIyBDb250cmlidXRvciBDb3ZlbmFudCBDb2RlIG9m
IENvbmR1Y3QKKyMgWGVuIFByb2plY3QgQ29kZSBvZiBDb25kdWN0CiAKICMjIE91ciBQbGVkZ2UK
IApAQCAtMTEsMTQgKzExLDEwIEBAIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1
YWwgaWRlbnRpdHkgYW5kIG9yaWVudGF0aW9uLgogCiAjIyBPdXIgU3RhbmRhcmRzCiAKLUV4YW1w
bGVzIG9mIGJlaGF2aW9yIHRoYXQgY29udHJpYnV0ZXMgdG8gY3JlYXRpbmcgYSBwb3NpdGl2ZSBl
bnZpcm9ubWVudAotaW5jbHVkZToKLQotKiBVc2luZyB3ZWxjb21pbmcgYW5kIGluY2x1c2l2ZSBs
YW5ndWFnZQotKiBCZWluZyByZXNwZWN0ZnVsIG9mIGRpZmZlcmluZyB2aWV3cG9pbnRzIGFuZCBl
eHBlcmllbmNlcwotKiBHcmFjZWZ1bGx5IGFjY2VwdGluZyBjb25zdHJ1Y3RpdmUgY3JpdGljaXNt
Ci0qIEZvY3VzaW5nIG9uIHdoYXQgaXMgYmVzdCBmb3IgdGhlIGNvbW11bml0eQotKiBTaG93aW5n
IGVtcGF0aHkgdG93YXJkcyBvdGhlciBjb21tdW5pdHkgbWVtYmVycworV2UgYmVsaWV2ZSB0aGF0
IGEgQ29kZSBvZiBDb25kdWN0IGNhbiBoZWxwIGNyZWF0ZSBhIGhhcmFzc21lbnQtZnJlZSBlbnZp
cm9ubWVudCwKK2J1dCBpcyBub3Qgc3VmZmljaWVudCB0byBjcmVhdGUgYSB3ZWxjb21pbmcgZW52
aXJvbm1lbnQgb24gaXRzIG93bjogZ3VpZGFuY2Ugb24KK2NyZWF0aW5nIGEgd2VsY29taW5nIGVu
dmlyb25tZW50LCBob3cgdG8gY29tbXVuaWNhdGUgaW4gYW4gZWZmZWN0aXZlIGFuZCBmcmllbmRs
eQord2F5LCBldGMuIGNhbiBiZSBmb3VuZCBbaGVyZV0oY29tbXVuaWNhdGlvbi1ndWlkZS5tZCku
CiAKIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5j
bHVkZToKIApAQCAtMzMsMTEgKzI5LDExIEBAIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBiZWhh
dmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKIAogIyMgT3VyIFJlc3BvbnNpYmlsaXRpZXMK
IAotUHJvamVjdCBtYWludGFpbmVycyBhcmUgcmVzcG9uc2libGUgZm9yIGNsYXJpZnlpbmcgdGhl
IHN0YW5kYXJkcyBvZiBhY2NlcHRhYmxlCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJz
IGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFi
bGUKIGJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFp
ciBjb3JyZWN0aXZlIGFjdGlvbiBpbgogcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFj
Y2VwdGFibGUgYmVoYXZpb3IuCiAKLVByb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmlnaHQg
YW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK1Byb2plY3QgbGVhZGVyc2hp
cCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92
ZSwgZWRpdCwgb3IKIHJlamVjdCBjb21tZW50cywgY29tbWl0cywgY29kZSwgd2lraSBlZGl0cywg
aXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwogdGhhdCBhcmUgbm90IGFsaWduZWQgdG8g
dGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3JhcmlseSBvcgogcGVybWFuZW50
bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhhdCB0aGV5IGRlZW0gaW5h
cHByb3ByaWF0ZSwKQEAgLTQ1LDI2ICs0MSw0MSBAQCB0aHJlYXRlbmluZywgb2ZmZW5zaXZlLCBv
ciBoYXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdp
dGhpbiBhbGwgcHJvamVjdCBzcGFjZXMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgorVGhpcyBD
b2RlIG9mIENvbmR1Y3QgYXBwbGllcyB3aXRoaW4gYWxsIHByb2plY3Qgc3BhY2VzIG9mIGFsbCBz
dWItcHJvamVjdHMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgogYW4gaW5kaXZpZHVhbCBpcyBy
ZXByZXNlbnRpbmcgdGhlIHByb2plY3Qgb3IgaXRzIGNvbW11bml0eSBpbiBwdWJsaWMgc3BhY2Vz
LgogRXhhbXBsZXMgb2YgcmVwcmVzZW50aW5nIGEgcHJvamVjdCBvciBjb21tdW5pdHkgaW5jbHVk
ZSB1c2luZyBhbiBvZmZpY2lhbAogcHJvamVjdCBlLW1haWwgYWRkcmVzcywgcG9zdGluZyB2aWEg
YW4gb2ZmaWNpYWwgc29jaWFsIG1lZGlhIGFjY291bnQsIG9yIGFjdGluZwogYXMgYW4gYXBwb2lu
dGVkIHJlcHJlc2VudGF0aXZlIGF0IGFuIG9ubGluZSBvciBvZmZsaW5lIGV2ZW50LiBSZXByZXNl
bnRhdGlvbiBvZgotYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRlZmluZWQgYW5kIGNsYXJpZmll
ZCBieSBwcm9qZWN0IG1haW50YWluZXJzLgorYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRlZmlu
ZWQgYW5kIGNsYXJpZmllZCBieSB0aGUgcHJvamVjdCBsZWFkZXJzaGlwLgogCi0jIyBFbmZvcmNl
bWVudAorIyMgV2hhdCB0byBkbyBpZiB5b3Ugd2l0bmVzcyBvciBhcmUgc3ViamVjdCB0byB1bmFj
Y2VwdGFibGUgYmVoYXZpb3IKIAogSW5zdGFuY2VzIG9mIGFidXNpdmUsIGhhcmFzc2luZywgb3Ig
b3RoZXJ3aXNlIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBtYXkgYmUKLXJlcG9ydGVkIGJ5IGNvbnRh
Y3RpbmcgdGhlIHByb2plY3QgdGVhbSBhdCBbSU5TRVJUIEVNQUlMIEFERFJFU1NdLiBBbGwKK3Jl
cG9ydGVkIGJ5IGNvbnRhY3RpbmcgQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXQgY29uZHVjdEB4ZW5w
cm9qZWN0Lm9yZy4gQWxsCiBjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3ZWQgYW5kIGludmVzdGln
YXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Ci1pcyBkZWVtZWQgbmVjZXNz
YXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4gVGhlIHByb2plY3QgdGVh
bSBpcworaXMgZGVlbWVkIG5lY2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUgdG8gdGhlIGNpcmN1bXN0
YW5jZXMuIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGFyZQogb2JsaWdhdGVkIHRvIG1haW50YWluIGNv
bmZpZGVudGlhbGl0eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRlbnQu
CiBGdXJ0aGVyIGRldGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5IGJl
IHBvc3RlZCBzZXBhcmF0ZWx5LgogCi1Qcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9s
bG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitJZiB5b3UgaGF2ZSBj
b25jZXJucyBhYm91dCBhbnkgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIGNvbmR1Y3RAIGFsaWFzLAor
eW91IGFyZSB3ZWxjb21lIHRvIGNvbnRhY3QgcHJlY2lzZWx5IHRoZSBDb25kdWN0IFRlYW0gbWVt
YmVyKHMpIG9mCit5b3VyIGNob2ljZS4KKworUHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVtYmVy
cyB3aG8gZG8gbm90IGZvbGxvdyBvciBlbmZvcmNlIHRoZSBDb2RlIG9mIENvbmR1Y3QgaW4gZ29v
ZAogZmFpdGggbWF5IGZhY2UgdGVtcG9yYXJ5IG9yIHBlcm1hbmVudCByZXBlcmN1c3Npb25zIGFz
IGRldGVybWluZWQgYnkgb3RoZXIKIG1lbWJlcnMgb2YgdGhlIHByb2plY3QncyBsZWFkZXJzaGlw
LgogCisjIyBDb25kdWN0IFRlYW0gbWVtYmVycworQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXJlIHBy
b2plY3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgZnJvbSBhbnkKK3N1Yi1wcm9qZWN0LiBUaGUg
Y3VycmVudCBsaXN0IG9mIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGlzOgorKiBMYXJzIEt1cnRoIDxs
YXJzIGRvdCBrdXJ0aCBhdCB4ZW5wcm9qZWN0IGRvdCBvcmc+CisqIEdlb3JnZSBEdW5sYXAgPGdl
b3JnZSBkb3QgZHVubGFwIGF0IGNpdHJpeCBkb3QgY29tPgorKiBJYW4gSmFja3NvbiA8aWFuIGRv
dCBqYWNrc29uIGF0IGNpdHJpeCBkb3QgY29tPgorCitDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUg
Y2hhbmdlZCBieSBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhpcyBkb2N1bWVudCwKK3Bvc3RlZCBv
biBhbGwgc3ViLXByb2plY3QgbGlzdHMsIGZvbGxvd2VkIGJ5IGEgZm9ybWFsIGdsb2JhbCB2b3Rl
IGFzIG91dGxpbmVkCitbaGVyZV06IGh0dHBzOi8veGVucHJvamVjdC5vcmcvZGV2ZWxvcGVycy9n
b3Zlcm5hbmNlLyNwcm9qZWN0LWRlY2lzaW9ucworCiAjIyBBdHRyaWJ1dGlvbgogCiBUaGlzIENv
ZGUgb2YgQ29uZHVjdCBpcyBhZGFwdGVkIGZyb20gdGhlIFtDb250cmlidXRvciBDb3ZlbmFudF1b
aG9tZXBhZ2VdLCB2ZXJzaW9uIDEuNCwKLS0gCjIuMTMuMAoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pcmFnZU9TLWRldmVsIG1haWxpbmcgbGlzdApN
aXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:16:05 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:16:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVob-0006X0-1t; Thu, 12 Dec 2019 21:16:05 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoZ-0006WM-A1
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:03 +0000
X-Inumbo-ID: 736d2acd-1d24-11ea-8e25-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 736d2acd-1d24-11ea-8e25-12813bfff9fa;
 Thu, 12 Dec 2019 21:14:59 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnU-00015c-K3; Thu, 12 Dec 2019 21:14:56 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnU-0000Bm-Fh; Thu, 12 Dec 2019 21:14:56 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:31 +0000
Message-Id: <02a32deb820bafa7719734de7bb14af173dbab23.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 4/7] Add Communication Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============0160977948444710789=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============0160977948444710789==
Content-Type: text/plain; charset=Y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document is a portal page that lays out our gold standard,
best practices for some common situations and mechanisms to help
resolve issues that can have a negative effect on our community.

Detail is covered in subsequent documents

Changes since v2 (introduced in v2)
- Make lines break at 80 characters

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 communication-guide.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 communication-guide.md

diff --git a/communication-guide.md b/communication-guide.md
new file mode 100644
index 0000000..3c412d9
--- /dev/null
+++ b/communication-guide.md
@@ -0,0 +1,67 @@
+# Communication Guide
+
+We believe that our [Code of Conduct](code-of-conduct.md) can help create a
+harassment-free environment, but is not sufficient to create a welcoming
+environment on its own. We can all make mistakes: when we do, we take
+responsibility for them and try to improve.
+
+This document lays out our gold standard, best practices for some common
+situations and mechanisms to help resolve issues that can have a
+negative effect on our community.
+
+## Goal
+
+We want a productive, welcoming and agile community that can welcome new
+ideas in a complex technical field which is able to reflect on and improve how
+we work.
+
+## Communication & Handling Differences in Opinions
+
+Examples of behavior that contributes to creating a positive environment
+include:
+* Use welcoming and inclusive language
+* Keep discussions technical and actionable
+* Be respectful of differing viewpoints and experiences
+* Be aware of your own and counterpart’s communication style and culture
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Show empathy towards other community members
+* Resolve differences in opinion effectively
+
+## Getting Help
+
+When developing code collaboratively, technical discussion and disagreements
+are unavoidable. Our contributors come from different countries and cultures,
+are driven by different goals and take pride in their work and in their point
+of view. This invariably can lead to lengthy and unproductive debate,
+followed by indecision, sometimes this can impact working relationships
+or lead to other issues that can have a negative effect on our community.
+
+To minimize such issue, we provide a 3-stage process
+* Self-help as outlined in this document
+* Ability to ask for an independent opinion or help in private
+* Mediation between parties which disagree. In this case a neutral community
+  member assists the disputing parties resolve the issues or will work with the
+  parties such that they can improve future interactions.
+
+If you need and independent opinion or help, feel free to contact
+mediation@xenproject.org. The team behind mediation@ is made up of the
+same community members as those listed in the Conduct Team: see
+[Code of Conduct](code-of-conduct.md). In addition, team members are obligated
+to maintain confidentiality with regard discussions that take place. If you
+have concerns about any of the members of the mediation@ alias, you are
+welcome to contact precisely the team member(s) of your choice. In this case,
+please make certain that you highlight the nature of a request by making sure
+that either help or mediation is mentioned in the e-mail subject or body.
+
+## Specific Topics and Best Practice
+
+* [Code Review Guide](code-review-guide.md):
+  Essential reading for code reviewers and contributors
+* [Communication Best Practice](communication-practice.md):
+  This guide covers communication guidelines for code reviewers and reviewees.
+  It should help you create self-awareness, anticipate, avoid  and help resolve
+  communication issues.
+* [Resolving Disagreement](resolving-disagreement.md):
+  This guide lays out common situations that can lead to dead-lock and shows
+  common patterns on how to avoid and resolve issues.
-- 
2.13.0



--===============0160977948444710789==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============0160977948444710789==--

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:16:10 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:16:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVog-0006ZX-7E; Thu, 12 Dec 2019 21:16:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoe-0006Yj-B0
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:08 +0000
X-Inumbo-ID: 755319a0-1d24-11ea-8e25-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 755319a0-1d24-11ea-8e25-12813bfff9fa;
 Thu, 12 Dec 2019 21:15:01 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnV-00015l-OJ; Thu, 12 Dec 2019 21:14:57 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnV-0000Bm-E1; Thu, 12 Dec 2019 21:14:57 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:32 +0000
Message-Id: <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============6660076947285104701=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============6660076947285104701==
Content-Type: text/plain; charset=Y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document highlights what reviewers such as maintainers and committers look
for when reviewing code. It sets expectations for code authors and provides
a framework for code reviewers.

Changes since v2 (introduced in v2)
* Extend introduction
* Add "Code Review Workflow" covering
  - "Workflow from a Reviewer's Perspective"
  - "Workflow from an Author's Perspective"
  - "Problematic Patch Reviews"
* Wrap to 80 characters
* Replace inline links with reference links to make
  wrapping easier

TODO: find suitable examples on how to structure/describe good patch series

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 code-review-guide.md | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 309 insertions(+)
 create mode 100644 code-review-guide.md

diff --git a/code-review-guide.md b/code-review-guide.md
new file mode 100644
index 0000000..5ffbbac
--- /dev/null
+++ b/code-review-guide.md
@@ -0,0 +1,309 @@
+# Code Review Guide
+
+This document highlights what reviewers such as maintainers and committers look
+for when reviewing your code. It sets expectations for code authors and provides
+a framework for code reviewers.
+
+Before we start, it is important to remember that the primary purpose of a
+a code review is to indentify any bugs or potential bugs in the code. Most code
+reviews are relatively straight-forward and do not require re-writing the
+submitted code substantially.
+
+The document provides advice on how to structure larger patch series and
+provides  pointers on code author's and reviewer's workflows.
+
+Sometimes it happens that a submitted patch series made wrong assumptions or has
+a flawed design or architecture. This can be frustrating for contributors and
+code  reviewers. Note that this document does contain [a section](#problems)
+that provides  suggestions on how to minimize the impact for most stake-holders
+and also on how to avoid such situations.
+
+This document does **not cover** the following topics:
+* [Communication Best Practice][1]
+* [Resolving Disagreement][2]
+* [Patch Submission Workflow][3]
+* [Managing Patch Submission with Git][4]
+
+## What we look for in Code Reviews
+
+When performing a code review, reviewers typically look for the following things
+
+### Is the change necessary to accomplish the goals?
+
+* Is it clear what the goals are?
+* Do we need to make a change, or can the goals be met with existing
+  functionality?
+
+### Architecture / Interface
+
+* Is this the best way to solve the problem?
+* Is this the right part of the code to modify?
+* Is this the right level of abstraction?
+* Is the interface general enough? Too general? Forward compatible?
+
+### Functionality
+
+* Does it do what it’s trying to do?
+* Is it doing it in the most efﬁcient way?
+* Does it handle all the corner / error cases correctly?
+
+### Maintainability / Robustness
+
+* Is the code clear? Appropriately commented?
+* Does it duplicate another piece of code?
+* Does the code make hidden assumptions?
+* Does it introduce sections which need to be kept **in sync** with other
+  sections?
+* Are there other **traps** someone modifying this code might fall into?
+
+**Note:** Sometimes you will work in areas which have identified maintainability
+and/or robustness issues. In such cases, maintainers may ask you to make
+additional changes, such that your submitted code does not make things worse or
+point you to other patches are already being worked on.
+
+### System properties
+
+In some areas of the code, system properties such as
+* Code size
+* Performance
+* Scalability
+* Latency
+* Complexity
+* &c
+are also important during code reviews.
+
+### Style
+
+* Comments, carriage returns, **snuggly braces**, &c
+* See [CODING_STYLE][5] and [tools/libxl/CODING_STYLE][6]
+* No extraneous whitespace changes
+
+### Documentation and testing
+
+* If there is pre-existing documentation in the tree, such as man pages, design
+  documents, etc. a contributor may be asked to update the documentation
+  alongside the change. Documentation is typically present in the [docs][7]
+  folder.
+* When adding new features that have an impact on the end-user,
+  a contributor should include an update to the [SUPPORT.md][8] file.
+  Typically, more complex features require several patch series before it is
+  ready to be advertised in SUPPORT.md
+* When adding new features, a contributor may be asked to provide tests or
+  ensure that existing tests pass
+
+#### Testing for the Xen Project Hypervisor
+
+Tests are typically located in one of the following directories
+* **Unit tests**: [tools/tests][9] or [xen/test][A]<br>
+  Unit testing is hard for a system like Xen and typically requires building a
+  subsystem of your tree. If your change can be easily unit tested, you should
+  consider submitting tests with your patch.
+* **Build and smoke test**: see [Xen GitLab CI][B]<br>
+  Runs build tests for a combination of various distros and compilers against
+  changes committed to staging. Developers can join as members and test their
+  development branches **before** submitting a patch.
+* **XTF tests** (microkernel-based tests): see [XTF][C]<br>
+  XTF has been designed to test interactions between your software and hardware.
+  It is a very useful tool for testing low level functionality and is executed
+  as part of the project's CI system. XTF can be easily executed locally on
+  xen.git trees.
+* **osstest**: see [README][D]<br>
+  Osstest is the Xen Projects automated test system, which tests basic Xen use
+  cases on a variety of different hardware. Before changes are committed, but
+  **after** they have been reviewed. A contributor’s changes **cannot be
+  applied to master** unless the tests pass this test suite. Note that XTF and
+  other tests are also executed as part of osstest.
+
+### Patch / Patch series information
+
+* Informative one-line changelog
+* Full changelog
+* Motivation described
+* All important technical changes mentioned
+* Changes since previous revision listed
+* Reviewed-by’s and Acked-by’s dropped if appropriate
+
+More information related to these items can be found in our
+[Patch submission Guide][E].
+
+## Code Review Workflow
+
+This section is important for code authors and reviewers. We recomment that in
+particular new code authors carefully read this section.
+
+### Workflow from a Reviewer's Perspective
+
+Patch series typically contain multiple changes to the codebase, some
+transforming the same section of the codebase multiple times. It is quite common
+for patches in a patch series to rely on the previous ones. This means that code
+reviewers review  patches and patch series **sequentially** and **the structure
+of a patch series guides the code review process**. Sometimes in a long series,
+patches {1,2}/10 will be clean-ups, {3-6}/10 will be general reorganisations
+which don't really seem to do anything and then {7-10}/10 will be the substance
+of the serties, which helps the code reviewer understand what {3-6}/10 were
+about.
+
+Generally there are no hard rules on how to structure a series, as the structure
+of a series is very code specific and it is hard to give specific advice. There
+are some general tips which  help and some general patterns.
+
+**Tips:**
+
+* Outline the thinking behind the structure of the patch series. This can make
+  a huge difference and helps ensure that the code reviewer understands what the
+  series is trying to achieve and which portions are addressing which problems.
+* Try and keep changes that belong to a subsystem together
+* Expect that the structure of a patch series sometimes may need to change
+  between different versions of a patch series
+* **Most importantly**: Start small. Don't submit a large and complex patch
+  series as the first interaction with the community. Try and pick a smaller
+  task first (e.g. a bug-fix, a clean-up task, etc.) such that you don't have
+  to learn the tools, code and deal with a large patch series all together for
+  the first time.
+
+**General Patterns:**
+
+If there are multiple subsystems involved in your series, then these are best
+separated out into **sets of patches**, which roughly follow the following
+seven categories. In other words: you would end up with **7 categories x N
+subsystems**. In some cases, there is a **global set of patches** that affect
+all subsytems (e.g. headers, macros, documentation) impacting all changed
+subsystems which ideally comes **before** subsystem specific changes.
+
+The seven categories typically making up a logical set of patches
+1. Cleanups and/or new Independent Helper Functions
+2. Reorganisations
+3. Headers, APIs, Documentation and anything which helps understand the
+   substance of a series
+4. The substance of the change
+5. Cleaninups of any infelicities introduced temporarily
+6. Deleting old code
+7. Test code
+
+Note that in many cases, some of the listed categories are not always present
+in each set, as they are not needed. Of course, sometimes there are several
+patches describing **changes of substance**, which could be ordered in different
+ways: in such cases it may be necessary to put reorganisations in between these
+patches.
+
+If a series is structured this way, it is often possible to agree early on,
+that a significant portion of the changes are fine and to check these in
+independently of the rest of the patch series. This means that there is
+* Less work for authors to rebase
+* Less cognitive overhead for reviewers to review successive versions of a
+  series
+* The possibility for different code reviewers to review portions of such
+  large changes indepentendtly
+
+**Trade-Offs:**
+
+* In some cases, following the general pattern above may create extra patches
+  and may make a series more complex and harder to understand.
+* Crafting a more extensive cover letter will be extra effort: in most cases,
+  the extra time investment will be saving time during the code review process.
+  Verbosity is not the goal, but clarity is. Before you send a larger series
+  in particular: try and put yourself into the position of a code reviewer and
+  try to identify information that helps a code reviewer follow the patch
+  series.
+* In cases where changes need to be back-ported to older releases, moving
+  general cleanups last is often preferable: in such cases the **substance of
+  the change** is back-ported, whereas general cleanups and improvements are
+  not.
+
+**Examples:**
+
+TODO:
+* We should have some examples of a well structured cover letter for a complex
+  series.
+
+A candidate may be:
+https://lore.kernel.org/xen-devel/20190928151305.127380-1-wipawel@amazon.de/T/#t
+(or earlier versions)
+
+* We should have an example which shows a patch with a good logical structure
+
+### Workflow from an Author's Perspective
+
+When code authors receive feedback on their patches, they typically first try
+to clarify feedback they do not understand. For smaller patches or patch series
+it makes sense to wait until receiving feedback on the entire series before
+sending out a new version addressing the changes. For larger series, it may
+make sense to send out a new revision earlier.
+
+As a reviewer, you need some system that he;ps ensure that you address all
+review comments. This can be tedious when trying to map a hierarchical e-mail
+thread onto a code-base. Different people use different techniques from using
+* In-code TODO statements with comment snippets copied into the code
+* To keeping a separate TODO list
+* To printing out the review conversation tree and ticking off what has been
+  addressed
+* A combination of the above
+
+### <a name="problems"></a>Problematic Patch Reviews
+
+A typical waterfall software development process is sequential with the
+following steps: define requirements, analyse, design, code, test and deploy.
+Problems uncovered by code review or testing at such a late stage can cause
+costly redesign and delays. The principle of **[Shift Left][D]** is to take a
+task that is traditionally performed at a late stage in the process and perform
+that task at earlier stages. The goal is to save time by avoiding refactoring.
+
+Typically, problematic patch reviews uncover issues such as wrong or missed
+assumptions, a problematic architecture or design, or other bugs that require
+significant re-implementation of a patch series to fix the issue.
+
+The principle of **Shift Left** also applies in code reviews. Let's assume a
+series has a major flaw: ideally, this flaw would be picked up in the **first
+or second iteration** of the code review. As significant parts of the code may
+have to be re-written, it does not make sense for reviewers to highlight minor
+issues (such as style issues) until major flaws have been addressed of the
+affected part of a patch series. In such cases, providing feedback on minor
+issues reviewers cause the code author and themselves extra work by asking for
+changes to code, which ultimately may be changed later.
+
+To make it possible for code reviewers to identify major issues early, it is
+important for code-authors to highlight possible issues in a cover letter and
+to structure a patch series in such a way that makes it easy for reviewers to
+separate diffifcult and easy portions of a patch series. This will enable
+reviewers to progress uncontroversial portions of a patch independently from
+controversial ones.
+
+### Reviewing for Patch Authors
+
+The following presentation by George Dunlap, provides an excellent overview on
+howwe do code reviews, specifically targeting non-maintainers.
+
+As a community, we would love to have more help reviewing, including from **new
+community members**. But many people
+* do not know where to start, or
+* believe that their review would not contribute much, or
+* may feel intimidated reviewing the code of more established community members
+
+The presentation demonstrates that you do not need to worry about any of these
+concerns. In addition, reviewing other people's patches helps you
+* write better patches and experience the code review process from the other
+  side
+* and build more influence within the community over time
+
+Thus, we recommend strongly that **patch authors** read the watch the recording or
+read the slides:
+* [Patch Review for Non-Maintainers slides][F]
+* [Patch Review for Non-Maintainers recording - 20"][G]
+
+[1]: communication-practice.md
+[2]: resolving-disagreement.md
+[3]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[4]: https://wiki.xenproject.org/wiki/Managing_Xen_Patches_with_Git
+[5]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=CODING_STYLE
+[6]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=tools/libxl/CODING_STYLE
+[7]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=docs
+[8]: http:s//xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=SUPPORT.md
+[9]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=tools/tests
+[A]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=xen/test
+[B]: https://gitlab.com/xen-project/xen/pipelines
+[C]: https://xenbits.xenproject.org/docs/xtf/
+[D]: https://xenbits.xenproject.org/gitweb/?p=osstest.git;a=blob;f=README
+[E]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[D]: https://devopedia.org/shift-left
+[F]: https://www.slideshare.net/xen_com_mgr/xpdds19-keynote-patch-review-for-nonmaintainers-george-dunlap-citrix-systems-uk-ltd
+[G]: https://www.youtube.com/watch?v=ehZvBmrLRwg
-- 
2.13.0



--===============6660076947285104701==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============6660076947285104701==--

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:16:15 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:16:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVol-0006cJ-Ed; Thu, 12 Dec 2019 21:16:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoj-0006bO-Bw
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:13 +0000
X-Inumbo-ID: 72b27ccc-1d24-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 72b27ccc-1d24-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 21:14:57 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnR-00015D-Jx; Thu, 12 Dec 2019 21:14:53 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnR-0000Bm-C1; Thu, 12 Dec 2019 21:14:53 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:28 +0000
Message-Id: <00c6c80b12b1d201d7140626c7efe9d75645dee9.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 1/7] Import v1.4 of Contributor Covenant
 CoC
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
TGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgotLS0KQ2M6IG1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogeGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzog
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBtaXJhZ2Vvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpDYzogY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZwotLS0KIGNvZGUt
b2YtY29uZHVjdC5tZCB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBjb2RlLW9mLWNvbmR1Y3QubWQKCmRpZmYgLS1naXQgYS9jb2RlLW9mLWNv
bmR1Y3QubWQgYi9jb2RlLW9mLWNvbmR1Y3QubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uODFiMjE3YwotLS0gL2Rldi9udWxsCisrKyBiL2NvZGUtb2YtY29uZHVjdC5tZApA
QCAtMCwwICsxLDc2IEBACisjIENvbnRyaWJ1dG9yIENvdmVuYW50IENvZGUgb2YgQ29uZHVjdAor
CisjIyBPdXIgUGxlZGdlCisKK0luIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBh
bmQgd2VsY29taW5nIGVudmlyb25tZW50LCB3ZSBhcworY29udHJpYnV0b3JzIGFuZCBtYWludGFp
bmVycyBwbGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAorb3Vy
IGNvbW11bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVn
YXJkbGVzcyBvZiBhZ2UsIGJvZHkKK3NpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNo
YXJhY3RlcmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAorbGV2ZWwgb2Yg
ZXhwZXJpZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5
LCBwZXJzb25hbAorYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0
eSBhbmQgb3JpZW50YXRpb24uCisKKyMjIE91ciBTdGFuZGFyZHMKKworRXhhbXBsZXMgb2YgYmVo
YXZpb3IgdGhhdCBjb250cmlidXRlcyB0byBjcmVhdGluZyBhIHBvc2l0aXZlIGVudmlyb25tZW50
CitpbmNsdWRlOgorCisqIFVzaW5nIHdlbGNvbWluZyBhbmQgaW5jbHVzaXZlIGxhbmd1YWdlCisq
IEJlaW5nIHJlc3BlY3RmdWwgb2YgZGlmZmVyaW5nIHZpZXdwb2ludHMgYW5kIGV4cGVyaWVuY2Vz
CisqIEdyYWNlZnVsbHkgYWNjZXB0aW5nIGNvbnN0cnVjdGl2ZSBjcml0aWNpc20KKyogRm9jdXNp
bmcgb24gd2hhdCBpcyBiZXN0IGZvciB0aGUgY29tbXVuaXR5CisqIFNob3dpbmcgZW1wYXRoeSB0
b3dhcmRzIG90aGVyIGNvbW11bml0eSBtZW1iZXJzCisKK0V4YW1wbGVzIG9mIHVuYWNjZXB0YWJs
ZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKKworKiBUaGUgdXNlIG9mIHNleHVh
bGl6ZWQgbGFuZ3VhZ2Ugb3IgaW1hZ2VyeSBhbmQgdW53ZWxjb21lIHNleHVhbCBhdHRlbnRpb24g
b3IKKyAgYWR2YW5jZXMKKyogVHJvbGxpbmcsIGluc3VsdGluZy9kZXJvZ2F0b3J5IGNvbW1lbnRz
LCBhbmQgcGVyc29uYWwgb3IgcG9saXRpY2FsIGF0dGFja3MKKyogUHVibGljIG9yIHByaXZhdGUg
aGFyYXNzbWVudAorKiBQdWJsaXNoaW5nIG90aGVycycgcHJpdmF0ZSBpbmZvcm1hdGlvbiwgc3Vj
aCBhcyBhIHBoeXNpY2FsIG9yIGVsZWN0cm9uaWMKKyAgYWRkcmVzcywgd2l0aG91dCBleHBsaWNp
dCBwZXJtaXNzaW9uCisqIE90aGVyIGNvbmR1Y3Qgd2hpY2ggY291bGQgcmVhc29uYWJseSBiZSBj
b25zaWRlcmVkIGluYXBwcm9wcmlhdGUgaW4gYQorICBwcm9mZXNzaW9uYWwgc2V0dGluZworCisj
IyBPdXIgUmVzcG9uc2liaWxpdGllcworCitQcm9qZWN0IG1haW50YWluZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKK2JlaGF2aW9y
IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZl
IGFjdGlvbiBpbgorcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVo
YXZpb3IuCisKK1Byb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNp
YmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK3JlamVjdCBjb21tZW50cywgY29tbWl0cywgY29k
ZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwordGhhdCBhcmUg
bm90IGFsaWduZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3Jhcmls
eSBvcgorcGVybWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhh
dCB0aGV5IGRlZW0gaW5hcHByb3ByaWF0ZSwKK3RocmVhdGVuaW5nLCBvZmZlbnNpdmUsIG9yIGhh
cm1mdWwuCisKKyMjIFNjb3BlCisKK1RoaXMgQ29kZSBvZiBDb25kdWN0IGFwcGxpZXMgd2l0aGlu
IGFsbCBwcm9qZWN0IHNwYWNlcywgYW5kIGl0IGFsc28gYXBwbGllcyB3aGVuCithbiBpbmRpdmlk
dWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBpdHMgY29tbXVuaXR5IGluIHB1Ymxp
YyBzcGFjZXMuCitFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0
eSBpbmNsdWRlIHVzaW5nIGFuIG9mZmljaWFsCitwcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0
aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwgbWVkaWEgYWNjb3VudCwgb3IgYWN0aW5nCithcyBh
biBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUgZXZlbnQu
IFJlcHJlc2VudGF0aW9uIG9mCithIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQg
Y2xhcmlmaWVkIGJ5IHByb2plY3QgbWFpbnRhaW5lcnMuCisKKyMjIEVuZm9yY2VtZW50CisKK0lu
c3RhbmNlcyBvZiBhYnVzaXZlLCBoYXJhc3NpbmcsIG9yIG90aGVyd2lzZSB1bmFjY2VwdGFibGUg
YmVoYXZpb3IgbWF5IGJlCityZXBvcnRlZCBieSBjb250YWN0aW5nIHRoZSBwcm9qZWN0IHRlYW0g
YXQgW0lOU0VSVCBFTUFJTCBBRERSRVNTXS4gQWxsCitjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3
ZWQgYW5kIGludmVzdGlnYXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Citp
cyBkZWVtZWQgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4g
VGhlIHByb2plY3QgdGVhbSBpcworb2JsaWdhdGVkIHRvIG1haW50YWluIGNvbmZpZGVudGlhbGl0
eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRlbnQuCitGdXJ0aGVyIGRl
dGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5IGJlIHBvc3RlZCBzZXBh
cmF0ZWx5LgorCitQcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9y
Y2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkg
b3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgorbWVtYmVy
cyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCisKKyMjIEF0dHJpYnV0aW9uCisKK1RoaXMg
Q29kZSBvZiBDb25kdWN0IGlzIGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50
XVtob21lcGFnZV0sIHZlcnNpb24gMS40LAorYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmNvbnRy
aWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3QuaHRtbAorCitb
aG9tZXBhZ2VdOiBodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcKKworRm9yIGFu
c3dlcnMgdG8gY29tbW9uIHF1ZXN0aW9ucyBhYm91dCB0aGlzIGNvZGUgb2YgY29uZHVjdCwgc2Vl
CitodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcvZmFxCi0tIAoyLjEzLjAKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVs
Cg==

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:16:39 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:16:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVp8-0006sB-Uy; Thu, 12 Dec 2019 21:16:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVp8-0006rh-Cq
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:38 +0000
X-Inumbo-ID: 732fd8a2-1d24-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 732fd8a2-1d24-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 21:14:57 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnQ-00015A-J6; Thu, 12 Dec 2019 21:14:52 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnQ-0000Bm-BK; Thu, 12 Dec 2019 21:14:52 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:27 +0000
Message-Id: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
Subject: [MirageOS-devel] [PATCH v3 0/7] Code of Conduct + Extra Guides and
 Best Practices
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBzZXJpZXMgcHJv
cG9zZXMgYSBjb25jcmV0ZSB2ZXJzaW9uIG9mIHRoZSBYZW4gUHJvamVjdApDb0MgYmFzZWQgb24g
djEuNCBvZiB0aGUgQ29udHJpYnV0b3IgQ292ZW5hbnQuIFNlZSBbMV0KCkl0IHRyaWVzIHRvIGFk
ZHJlc3MgYWxsIGVsZW1lbnRzIGluIHRoZSB2MiByZXZpZXcsIHdoaWNoIHJhaXNlZAphIG51bWJl
ciBvZiBoYXJkIHF1ZXN0aW9ucy4gT25lIG9mIHRoZSBtYWluIG91dHN0YW5kaW5nIGl0ZW1zCndl
cmUgZ29vZCBleGFtcGxlcyBmb3IgY292ZXIgbGV0dGVycyBhbmQgd2VsbCBzdHJ1Y3R1cmVkIGxh
cmdlCnBhdGNoIHNlcmllcyAoc2VlIFRPRE8gaW4gIkFkZCBDb2RlIFJldmlldyBHdWlkZSIpCgpG
b3IgY29udmVuaWVuY2Ugb2YgcmV2aWV3IGFuZCBpbiBsaW5lIHdpdGggb3RoZXIgcG9saWN5IGRv
Y3VtZW50cwpJIGNyZWF0ZWQgYSBnaXQgcmVwb3NpdG9yeSBhdCBbMl0uIFRoaXMgc2VyaWVzIGNh
biBiZSBmb3VuZCBhdCBbM10uCgpJIGFsc28gcmVmb3JtYXR0ZWQgdGhlIHNlcmllcyB0byA4MCBj
aGFyYWN0ZXJzIGFuZCByZXBsYWNlZAppbmxpbmUgc3lpbGUgbGlua3Mgd2l0aCByZWZlcmVuY2Ug
c3R5bGUgbGlua3MgdG8gbWFrZSBpdCBlYXNpZXIKdG8gc3RpY2sgdG8gYSBjaGFyYWN0ZXIgbGlt
aXQuIFRvIGp1c3Qgc2VlIHRleHQgYnV0IG5vdCBmb3JtYXR0aW5nIGNoYW5nZXMsCmhhdmUgYSBs
b29rIGF0IFs0XS4gVGhpcyBpcyB3aHkgcGF0Y2ggMyAiUmVmb3JtYXQgWGVuIFByb2plY3QgQ29D
IHRvIGZpdAppbnRvIDgwIGNoYXJhY3RlciBsaW1pdCIgd2FzIGFkZGVkLgoKWzFdIGh0dHBzOi8v
d3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3Qu
bWQKWzJdIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2ViLz9wPXBlb3BsZS9sYXJzay9jb2Rl
LW9mLWNvbmR1Y3QuZ2l0O2E9c3VtbWFyeQpbM10gaHR0cDovL3hlbmJpdHMueGVuLm9yZy9naXR3
ZWIvP3A9cGVvcGxlL2xhcnNrL2NvZGUtb2YtY29uZHVjdC5naXQ7YT1zaG9ydGxvZztoPXJlZnMv
aGVhZHMvQ29DLXYzCls0XSBodHRwOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD1wZW9wbGUv
bGFyc2svY29kZS1vZi1jb25kdWN0LmdpdDthPWNvbW1pdGRpZmY7aD1lZTk2NTc4NDQ2ZWI0MTMy
MGIzZThhM2NhZGE0NDFiYjg5MWFkMGRmO2hwPTJlNGIzNmFmYWE3MzI3N2QyNDZkN2U4NDAzN2Ri
MTUzMmExMzZlYzcKCkNoYW5nZXMgc2luY2UgdjIKICAqIFJlZm9ybWF0dGVkIGFsbCB0ZXh0IHRv
IDgwIGNoYXJhY3RlcnMgYW5kIHJlcGxhY2VkIGxpbmsgc3R5bGUKCiAgY29kZS1yZXZpZXctZ3Vp
ZGUubWQKICAqIEV4dGVuZCBpbnRyb2R1Y3Rpb24KICAqIEFkZCAiQ29kZSBSZXZpZXcgV29ya2Zs
b3ciIGNvdmVyaW5nCiAgICAtICJXb3JrZmxvdyBmcm9tIGEgUmV2aWV3ZXIncyBQZXJzcGVjdGl2
ZSIKICAgIC0gIldvcmtmbG93IGZyb20gYW4gQXV0aG9yJ3MgUGVyc3BlY3RpdmUiCiAgICAtICJQ
cm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzIgoKICBUT0RPOiBmaW5kIHN1aXRhYmxlIGV4YW1wbGVz
IG9uIGhvdyB0byBzdHJ1Y3R1cmUvZGVzY3JpYmUgZ29vZCBwYXRjaCBzZXJpZXMKCiAgY29tbXVu
aWNhdGlvbi1wcmFjdGljZS5tZAogICogRml4IHR5cG9zCiAgKiBFeHRlbmRlZCAiVmVyYm9zZSB2
cy4gdGVyc2UiCiAgKiBBZGRlZCAiQ2xhcml0eSBvdmVyIFZlcmJvc2l0eSIKICAqIEJyb2tlICJJ
ZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYW4gaXNzdWUgb3IgZGlzYWdyZWVtZW50IiBpbnRvIHR3
byBjaGFwdGVycwogICAgLSAiSWRlbnRpZnkgdGhlIHNldmVyaXR5IGFuZCBvcHRpb25hbGl0eSBv
ZiByZXZpZXcgY29tbWVudHMiIGFuZCBtYWRlCiAgICAgIGNsYXJpZmljYXRpb25zCiAgICAtICJJ
ZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYSBkaXNhZ3JlZW1lbnQiCiAgICAtIEV4cGFuZGVkICJQ
cmlvcml0aXplIHNpZ25pZmljYW50IGZsYXdzIgogICogQWRkZWQgIlJldmlld2VyczogVGFrZSBh
Y2NvdW50IG9mIHByZXZpb3VzIHJldmlld2VyKHMpIGNvbW1lbnRzIgogICogQWRkZWQgcHJlZml4
ZXMgc3VjaCBhcyAiUmV2aWV3ZXJzOiIgd2hlcmUgYXBwcm9wcmlhdGUKCiAgcmVzb2x2aW5nLWRp
c2FncmVlbWVudC5tZAogICogRml4IHR5cG9zCiAgKiBBZGQgc2VjdGlvbjogIklzc3VlOiBNdWx0
aXBsZSB3YXlzIHRvIHNvbHZlIGEgcHJvYmxlbSIKCkNoYW5nZXMgc2luY2UgdjEKKiBDb2RlIG9m
IENvbmR1Y3QKICBPbmx5IHdoaXRlc3BhY2UgY2hhbmdlcwoKKiBBZGRlZCBDb21tdW5pY2F0aW9u
IEd1aWRlCiAgQ29udGFpbnMgdmFsdWVzIGFuZCBhIHByb2Nlc3MgYmFzZWQgb24gYWR2aWNlIGFu
ZCBtZWRpYXRpb24gaW4gY2FzZSBvZiBpc3N1ZXMKICBUaGlzIGlzIHRoZSBwcmltYXJ5IHBvcnRh
bCBmb3IKCiogQWRkZWQgQ29kZSBSZXZpZXcgR3VpZGUKICBXaGljaCBpcyBiYXNlZCBvbiBbNF0g
d2l0aCBzb21lIGFkZGl0aW9ucyBmb3IgY29tcGxldGVuZXNzCiAgSXQgcHJpbWFyaWx5IHNldHMg
ZXhwZWN0YXRpb25zIGFuZCBhbnl0aGluZyBjb21tdW5pY2F0aW9uIHJlbGF0ZWQgaXMgcmVtb3Zl
ZAoKKiBBZGRlZCBndWlkZSBvbiBDb21tdW5pY2F0aW9uIEJlc3QgUHJhY3RpY2UKICBUYWtlcyB0
aGUgY29tbXVuaWNhdGlvbiBzZWN0aW9uIGZyb20gWzRdIGFuZCBleHBhbmRzIG9uIGl0IHdpdGgg
bW9yZSBleGFtcGxlcwogIGFuZCBjYXNlcy4gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB3ZSBtYXkg
bmVlZCBzb21lIGRpc2N1c3Npb24KCiogQWRkZWQgZG9jdW1lbnQgb24gUmVzb2x2aW5nIERpc2Fn
cmVlbWVudAogIEEgdGlueSBiaXQgb2YgdGhlb3J5IHRvIHNldCB0aGUgc2NlbmUKICBJdCBjb3Zl
cnMgc29tZSBjb21tb24gY2FzZXMgb2YgZGlzYWdyZWVtZW50cyBhbmQgaG93IHdlIG1heSBhcHBy
b2FjaCB0aGVtCiAgQWdhaW4sIHRoaXMgcHJvYmFibHkgbmVlZHMgc29tZSBkaXNjdXNzaW9uCgpD
YzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3RzLnhl
bnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IG1p
cmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnByb2pl
Y3Qub3JnCgpMYXJzIEt1cnRoICg3KToKICBJbXBvcnQgdjEuNCBvZiBDb250cmlidXRvciBDb3Zl
bmFudCBDb0MKICBYZW4gUHJvamVjdCBDb2RlIG9mIENvbmR1Y3QKICBSZWZvcm1hdCBYZW4gUHJv
amVjdCBDb0MgdG8gZml0IGludG8gODAgY2hhcmFjdGVyIGxpbWl0CiAgQWRkIENvbW11bmljYXRp
b24gR3VpZGUKICBBZGQgQ29kZSBSZXZpZXcgR3VpZGUKICBBZGQgZ3VpZGUgb24gQ29tbXVuaWNh
dGlvbiBCZXN0IFByYWN0aWNlCiAgQWRkZWQgUmVzb2x2aW5nIERpc2FncmVlbWVudAoKLS0KMi4x
My4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWly
YWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vv
cy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:16:59 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:16:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVpT-00074X-Mr; Thu, 12 Dec 2019 21:16:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVpS-00073j-DF
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:58 +0000
X-Inumbo-ID: 764bf188-1d24-11ea-b6f1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 764bf188-1d24-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 21:15:03 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnW-00015x-SP; Thu, 12 Dec 2019 21:14:58 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnW-0000Bm-I0; Thu, 12 Dec 2019 21:14:58 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:33 +0000
Message-Id: <0f6a6c4217b5a9309623a385d81eda70a8a901cd.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 6/7] Add guide on Communication Best
 Practice
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============6476073244461961259=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============6476073244461961259==
Content-Type: text/plain; charset=Y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This guide covers the bulk on Best Practice related to code review
It primarily focusses on code review interactions
It also covers how to deal with Misunderstandings and Cultural
Differences

Changes since v2 (added in v2)
* Fix typos
* Extended "Verbose vs. terse"
* Added "Clarity over Verbosity"
* Broke "Identify the severity of an issue or disagreement" into two chapters
  - "Identify the severity and optionality of review comments" and made
    clarifications
  - "Identify the severity of a disagreement"
  - Expanded "Prioritize significant flaws"
* Added "Reviewers: Take account of previous reviewer(s) comments"
* Added prefixes such as "Reviewers:" where appropriate
* Fixed lien wrapping to 80 characters
* Replaced inline links with reference links

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 communication-practice.md | 504 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 504 insertions(+)
 create mode 100644 communication-practice.md

diff --git a/communication-practice.md b/communication-practice.md
new file mode 100644
index 0000000..0ae2426
--- /dev/null
+++ b/communication-practice.md
@@ -0,0 +1,504 @@
+# Communication Best Practice
+
+This guide provides communication Best Practice that helps you in
+* Using welcoming and inclusive language
+* Keeping discussions technical and actionable
+* Being respectful of differing viewpoints and experiences
+* Being aware of your own and counterpart’s communication style and culture
+* Show empathy towards other community members
+
+## Code reviews for **reviewers** and **patch authors**
+
+Before embarking on a code review, it is important to remember that
+* A poorly executed code review can hurt the contributors feeling, even when a
+  reviewer did not intend to do so. Feeling defensive is a normal reaction to
+  a critique or feedback. A reviewer should be aware of how the pitch, tone,
+  or sentiment of their comments could be interpreted by the contributor. The
+  same applies to responses of an author to the reviewer.
+* When reviewing someone's code, you are ultimately looking for issues. A good
+  code reviewer is able to mentally separate finding issues from articulating
+  code review comments in a constructive and positive manner: depending on your
+  personality this can be **difficult** and you may need to develop a technique
+  that works for you.
+* As software engineers we like to be proud of the solutions we came up with.
+  This can make it easy to take another people’s criticism personally. Always
+  remember that it is the code that is being reviewed, not you as a person.
+* When you receive code review feedback, please be aware that we have reviewers
+  from different backgrounds, communication styles and cultures. Although we
+  all trying to create a productive, welcoming and agile environment, we do
+  not always succeed.
+
+### Express appreciation
+
+As the nature of code review to find bugs and possible issues, it is very easy
+for reviewers to get into a mode of operation where the patch review ends up
+being a list of issues, not mentioning what is right and well done. This can
+lead to the code submitter interpreting your feedback in a negative way.
+
+The opening of a code review provides an opportunity to address this and also
+sets the tone for the rest of the code review. Starting **every** review on a
+positive note, helps set the tone for the rest of the review.
+
+For an initial patch, you can use phrases such as
+> Thanks for the patch
+> Thanks for doing this
+
+For further revisions within a review, phrases such as
+> Thank you for addressing the last set of changes
+
+If you believe the code was good, it is good practice to highlight this by
+using phrases such as
+> Looks good, just a few comments
+> The changes you have made since the last version look good
+
+If you think there were issues too many with the code to use one of the
+phrases, you can still start on a positive note, by for example saying
+> I think this is a good change
+> I think this is a good feature proposal
+
+It is also entirely fine to highlight specific changes as good. The best place
+to do this, is at the top of a patch, as addressing code review comments
+typically requires a contributor to go through the list of things to address
+and an in-lined positive comment is likely to break that workflow.
+
+You should also consider, that if you review a patch of an experienced
+contributor phrases such as *Thanks for the patch* could come across as
+patronizing, while using *Thanks for doing this* is less likely to be
+interpreted as such.
+
+Appreciation should also be expressed by patch authors when asking for
+clarifications to a review or responding to questions. A simple
+> Thank you for your feedback
+> Thank you for your reply
+> Thank you XXX!
+
+is normally sufficient.
+
+### Avoid opinion: stick to the facts
+
+The way how a reviewer expresses feedback, has a big impact on how the author
+perceives the feedback. Key to this is what we call **stick to the facts**.
+The same is true when a patch author is responding to a comment from a
+reviewer.
+
+One of our maintainers has been studying Mandarin for several years and has
+come across the most strongly-worded dictionary entry [he has ever seen][1].
+This example illustrates the problem of using opinion in code reviews vs.
+using facts extremely well.
+
+> 裹脚 (guo3 jiao3): foot-binding (a vile feudal practice which crippled women
+> both physically and spiritually)
+
+This is not something one is used to hearing from dictionary entries. Once you
+investigate the practice foot-binding, it is hard to disagree with the
+dictionary entry. However, the statement does not contain much information. If
+you read it without knowing what foot-binding is, it is hard to be convinced
+by this statement. The main take-away is that the author of the dictionary
+entry had strong opinions about this topic. It does not tell you why you
+should have the same opinion.
+
+Compare this to the [Wikipedia entry][2]
+
+> Foot binding was the custom of applying tight binding to the feet of young
+> girls to modify the shape and size of their feet. ... foot binding was a
+> painful practice and significantly limited the mobility of women, resulting
+> in lifelong disabilities for most of its subjects. ... Binding usually
+> started during the winter months since the feet were more likely to be numb,
+> and therefore the pain would not be as extreme. …The toes on each foot
+> were curled under, then pressed with great force downwards and squeezed
+> into the sole of the foot until the toes broke…
+
+Without going into the details of foot-binding, it is noticeable that none of
+what is written above uses opinion which could be interpreted as inflammatory
+language. It is a list of simple facts that are laid out in a way that make it
+obvious what the correct conclusion is.
+
+Because the Wikipedia entry is entirely fact based it is more powerful and
+persuasive then the dictionary entry. The same applies to code reviews.
+
+Making statements in code reviews such as
+> Your code is garbage
+> This idea is stupid
+
+besides being an opinion is rude and counter productive
+* It will make the patch author angry: instead of finding a solution to the
+  problem the author will spend time and mental energy wrestling with their
+  feelings
+* It does not contain any information
+* Facts are both more powerful and more persuasive
+
+Consider the following two pieces of feedback on a piece of code
+> This piece of code is confusing
+> It took me a long time to ﬁgure out what was going on here
+
+The first example expresses an opinion, whereas the second re-phrases the
+statement in terms of what you experienced, which is a fact.
+
+Other examples:
+> BAD: This is fragile
+> SOMEWHAT BETTER: This seems fragile to me
+> BEST: If X happens, Y will happen.
+
+A certain piece of code can be written in many different ways: this can lead to
+disagreements on the best architecture, design or coding pattern. As already
+pointed out in this section: avoid feedback that is opinion-based and thus
+does not add any value. Back your criticism (or idea on how to solve a
+problem) with a sensible rationale.
+
+### Review the code, not the person
+
+Without realizing it, it is easy to overlook the difference between insightful
+critique of code and personal criticism. Let's look at a theoretical function
+where there is an opportunity to return out of the function early. In this
+case, you could say
+
+> You should return from this function early, because of XXX
+
+On its own, there is nothing wrong with this statement. However, a code review
+is made up of multiple comments and using **You should** consistently can
+start to feel negative and can be mis-interpreted as a personal attack. Using
+something like avoids this issue:
+
+> Returning from this function early is better, because of XXX
+
+Without personal reference, a code review will communicate the problem, idea
+or issue without risking mis-interpretation.
+
+### Verbose vs. terse
+
+Due to the time it takes to review and compose code reviewer, reviewers often
+adopt a terse style. It is not unusual to see review comments such as
+> typo
+> s/resions/regions/
+> coding style
+> coding style: brackets not needed
+etc.
+
+Terse code review style has its place and can be productive for both the
+reviewer and the author. However, overuse can come across as unfriendly,
+lacking empathy and can thus create a negative impression with the author of a
+patch. This is in particular true, when you do not know the author or the
+author is a newcomer. Terse communication styles can also be perceived as rude
+in some cultures.
+
+If you tend to use a terse commenting style and you do not know whether the
+author is OK with it, it is often a good idea to compensate for it in the code
+review opening (where you express appreciation) or when there is a need for
+verbose expression. However, when you know are working with a seasoned code
+author, it is also entirely acceptable to drop niceties such as expressing
+appreciation with the goal to save the author and reviewer time.
+
+It is also entirely fine to mention that you have a fairly terse communication
+style and ask whether the author is OK with it. In almost all cases, they will
+be: by asking you are showing empathy that helps counteract a negative
+impression.
+
+### Clarity over verbosity
+
+When reading this document, you may get the impression that following the
+guidance outlined here takes more effort and time for both code reviewers and
+code authors. This is not the intention: much of this document aims to create
+clearer communication, which ultimately saves time by reducing unnecessary
+iterations during communication. We value **clarity over verbosity**.
+
+Areas which often create unecessary back-and-forth between reviewers and
+authors are
+* Unstated assumptions and goals
+* Leave suggestions, examples, and resources (such as links to existing code)
+* There is nothing more helpful for the thought process than example. It
+  guarantees that you have a shared understanding and reduces the questions
+  asked on a comment.
+
+### Code Review Comments should be actionable
+
+Code review comments should be actionable: in other words, it needs to be clear
+what the author of the code needs to do to address the issue you identified.
+
+Statements such as
+> BAD: This is wrong
+> BAD: This does not work
+> BETTER, BUT NOT GOOD: This does not work, because of XXX
+
+do not normally provide the author of a patch with enough information to send
+out a new patch version. By doing this, you essentially force the patch author
+to **find** and **implement** an alternative, which then may also not be
+acceptable to you as the **reviewer** of the patch.
+
+A better way to approach this is to say
+
+> This does not work, because of XXX
+> You may want to investigate YYY and ZZZ as alternatives
+
+In some cases, it may not be clear whether YYY or ZZZ are the better solution.
+As a reviewer you should be as up-front and possible in such a case and say
+something like
+
+> I am not sure whether YYY and ZZZ are better, so you may want to outline your
+> thoughts about both solutions by e-mail first, such that we can decide what
+> works best
+
+### Identify the severity and optionality of review comments
+
+By default, every comment which is made **ought to be addressed** by the
+author. However, sometimes reviewers note issues, which would be nice if they
+were addressed, but are not mandatory to fix.
+
+Typically, reviewers use terminology such as
+> This would be a nice-to-have
+> This is not a blocker
+
+Some maintainers use
+> NIT: XXX
+
+however, it is sometimes also used to indicate a minor issue that **must** be
+fixed. Also terminology such as **this is not a blocker** could be
+misinterpreted. It is important that **reviewers** use language that make
+clear whether a comment is an optional suggestion. Examples may be
+> NIT (optional): XXX
+> I think it would be good if X also did Y, not a requirement but nice-to-have
+
+### Identify the severity of a disagreement
+
+During a code review, it can happen that reviewer and author disagree on how
+to move forward. The default position when it comes to disagreements is that
+**both parties want to argue their case**. However, frequently one or both
+parties do not feel that strongly about a specific issue.
+
+Within the Xen Project, we have [a way][3] to highlight one's position on
+proposals, formal or informal votes using the following notation:
+> +2 : I am happy with this proposal, and I will argue for it
+> +1 : I am happy with this proposal, but will not argue for it
+> 0 : I have no opinion
+> -1 : I am not happy with this proposal, but will not argue against it
+> -2 : I am not happy with this proposal, and I will argue against it
+
+You can use a phrase such as
+> I am not happy with this suggestion, but will not argue against it
+
+to make clear where you stand, while recording your position. Conversely, a
+reviewer may do something similar
+> I am not happy with XYZ, but will not argue against it [anymore]
+> What we have now is good enough, but could be better
+
+### Authors: responding to review comments
+
+Typically patch authors are expected to **address all** review comments in the
+next version of a patch or patch series. In a smooth-running code review where
+you do not have further questions it is not at all necessary to acknowledge
+the changes you are going to make:
+* Simply send the next version with the changes addressed and record it in the
+  change-log
+
+When there is discussion, the normal practice is to remove the portion of the
+e-mail thread where there is agreement. Otherwise, the thread can become
+exceptionally long.
+
+In cases where there was discussion and maybe disagreement, it does however
+make sense to close the discussion by saying something like
+
+> ACK
+> Seems we are agreed, I am going to do this
+
+Other situations when you may want to do this are cases where the reviewer made
+optional suggestions, to make clear whether the suggestion will be followed or
+not.
+
+### Avoid uncommon words: not everyone is a native English speaker
+
+Avoid uncommon words both when reviewing code or responding to a review. Not
+everyone is a native English speaker. The use of such words can come across
+badly and can lead to misunderstandings.
+
+### Prioritize significant flaws
+
+If a patch or patch series has significant flaws, such as
+* It is built on wrong assumptions
+* There are issues with the architecture or the design
+
+it does not make sense to do a detailed code review. In such cases, it is best
+to focus on the major issues first and deal with style and minor issues in a
+subsequent review. Not all series have significant flaws, but most series have
+different classes of changes that are required for acceptance: covering a
+range of major code modifications to minor code style fixes. To avoid
+misunderstandings between reviewers and contributors, it is important to
+establish and agree whether a series or part of a series has a significant
+flaw and agree a course of action.
+
+A pragmatic approach would be to
+* Highlight problematic portions of a series in the cover letter
+* For the patch author and reviewer(s) to agree that for problematic to omit
+  style and minor issues in the review, until the significant flaw is addressed
+
+This saves both the patch author and reviewer(s) time. Note that some
+background is covered in detail in [Problematic Patch Reviews][4].
+
+
+### Reviewers: Welcome newcomers
+
+When reviewing the first few patches of a newcomer to the project, you may want
+spend additional time and effort in your code review. This contributes to a
+more **positive experience**, which ultimately helps create a positive working
+relationship in the long term.
+
+When someone does their first code submission, they will not be familiar with
+**all** conventions in the project. A good approach is to
+* Welcome the newcomer
+* Offer to help with specific questions, for example on IRC
+* Point to existing documentation: in particular if mistakes with the
+  submission itself were made. In most situations, following the submission
+  process makes the process more seamless for the contributor. So, you could
+  say something like
+
+> Hi XXX. Welcome to the community and thank you for the patch
+>
+> I noticed that the submission you made seems to not follow our process.
+> Are you aware of this document at YYY? If you follow the instructions the
+> entire code submission process and dealing with review comments becomes
+> much easier. Feel free to find me on IRC if you need specific help. My IRC
+> handle is ZZZ
+
+### Reviewers: Take account of previous reviewer(s) comments
+
+Sometimes multiple reviewers share reviewing a series. For example,
+reviewer John has reviewed the first 5 iterations of the series. The patch
+author has addressed all of John's comments and Susan comes in and picks up
+the series after iteration 5. In such cases it is possible that John and Susan
+have different styles, such as
+* different preferences on the code layout
+* different preferences on code style
+
+If Susan were to be strict on her own style and highlight her style
+preferences in subsequent reviews, this would cause additional re-work for the
+code author. In addition, it also causes extra work for Susan. The easiest way
+to avoid such situations, would be for Susan to focus on faulty code only and
+to disregard personal preferences when taking over the review of a series.
+
+### Reviewers: Review the code, then review the review
+
+As stated earlier it is often difficult to mentally separate finding issues
+from articulating code review comments in a constructive and positive manner.
+Even as an experienced code reviewer you can be in a bad mood, which can
+ impact your communication style.
+
+A good trick to avoid this, is to start and complete the code review and then
+**not send it immediately**. You can then have a final go over the code review
+at some later point in time and review your comments from the other author's
+point of view. This minimizes the risk of being misunderstood. The same
+applies when replying to a code review: draft your reply and give it a final
+scan before pressing the send button.
+
+Generally, it is a good idea for code reviewers to do this regularly, purely
+from the viewpoint of self-improvement and self-awareness.
+
+## Common Communication Pitfalls
+
+This section contains common communication issues and provides suggestions on
+how to avoid them and resolve them. These are **general** issues which affect
+**all** online communication. As such, we can only try and do our best.
+
+### Misunderstandings
+
+When you meet face to face, you can read a person’s emotions. Even with a
+phone call, someone’s tone of voice can convey a lot of information. Using
+on-line communication channels you are flying blind, which often leads to
+misunderstandings. [Research][5] shows that in up to 50% of email
+conversations, the tone of voice is misinterpreted.
+
+In code reviews and technical discussions in general we tend to see two things
+* The reviewer or author interprets an exchange as too critical, passive
+  aggressive, or other: this usually comes down to different cultures and
+  communication styles, which are covered in the next section
+* There is an actual misunderstanding of a subject under discussion
+
+In the latter case, the key to resolution is to **identify the
+misunderstanding** as quickly as possible and call it out and de-escalate
+rather than let the misunderstanding linger. This is inherently difficult and
+requires more care than normal communication. Typically you would start with
+* Showing appreciation
+* Highlighting the potential misunderstanding and verifying whether the other
+  person also feels that maybe there was a misunderstanding
+* Proposing a way forward: for example, it may make sense to move the
+  conversation from the mailing list to [IRC][6] either in private or public,
+  a community call or a private phone/video call.
+
+It is entirely acceptable to do this in a direct reply to your communication
+partner, rather than on a public e-mail list on or an otherwise public forum.
+
+A good approach is to use something like the following:
+> Hi XXX! Thank you for the insights you have given me in this code review
+> I feel that we are misunderstanding each other on the topic of YYY
+> Would you mind trying to resolve this on IRC. I am available at ZZZ
+
+Usually, technical misunderstandings come down two either
+1. Misinterpreting what the other person meant
+2. Different - usually unstated - assumptions on how something works or what
+   is to be achieved
+3. Different - usually unstated - objectives and goals, which may be
+   conflicting
+4. Real differences in opinion
+
+The goal of calling out a possible misunderstanding is to establish what
+caused the misunderstanding, such that all parties can move forward.
+Typically, 1 and 2 are easily resolved and will lead back to a constructive
+discussion. Whereas 3 and 4 may highlight an inherent disagreement, which may
+need to be resolved through techniques as
+outlined in [Resolving Disagreement][7].
+
+### Cultural differences and different communication styles
+
+The Xen Project is a global community with contributors from many different
+backgrounds. Typically, when we communicate with a person we know, we factor
+in past interactions. The less we know a person, the more we rely on cultural
+norms.
+
+However, different norms and value systems come into play when people from
+diverse cultural backgrounds interact. That can lead to misunderstandings,
+especially in sensitive situations such as conflict resolution, giving and
+receiving feedback, and consensus building.
+
+For example, giving direct feedback such as
+> [Please] replace XXX with YYY, as XXX does not do ZZZ
+
+is acceptable and normal in some cultures, whereas in cultures which value
+indirect feedback it would be considered rude. In the latter case, something
+like the following would be used
+> This looks very good to me, but I believe you should use YYY here,
+> because XXX would....
+
+The key to working and communicating well with people from different cultural
+backgrounds is **self-awareness**, which can then be used to either
+* Adapt your own communication style depending on who you talk to
+* Or to find a middle-ground that covers most bases
+
+A number of different theories in the field of working effectively are
+currently popular, with the most well-known one being
+[Erin Meyer's Culture Map][8]. A short overview can be found [here][9]
+(33 slides).
+
+### Code reviews and discussions are not competitions
+
+Code reviews on our mailing lists are not competitions on who can come up with
+the smartest solution or who is the real coding genius.
+
+In a code review - as well as in general - we expect that all stake-holders
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Resolve differences in opinion effectively
+
+The next section provides pointers on how to do this effectively.
+
+### Resolving Disagreement Effectively
+
+Common scenarios are covered our guide on [Resolving Disagreement][7], which
+lays out situations that can lead to dead-lock and shows common patterns on
+how to avoid and resolve issues.
+
+[1]: https://youtu.be/ehZvBmrLRwg?t=834
+[2]: https://en.wikipedia.org/wiki/Foot_binding
+[3]: https://xenproject.org/developers/governance/#expressingopinion
+[4]: resolving-disagreement.md#problems
+[5]: https://www.wired.com/2006/02/the-secret-cause-of-flame-wars/
+[6]: https://xenproject.org/help/irc/
+[7]: resolving-disagreement.md
+[8]: https://en.wikipedia.org/wiki/Erin_Meyer
+[9]: https://www.nsf.gov/attachments/134059/public/15LFW_WorkingWithMulticulturalTeams_LarsonC.pdf
\ No newline at end of file
-- 
2.13.0



--===============6476073244461961259==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============6476073244461961259==--

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 12 21:17:24 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 21:17:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ifVps-0007Ip-5o; Thu, 12 Dec 2019 21:17:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVpr-0007IY-ER
 for mirageos-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:17:23 +0000
X-Inumbo-ID: 76424bd8-1d24-11ea-a914-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76424bd8-1d24-11ea-a914-bc764e2007e4;
 Thu, 12 Dec 2019 21:15:02 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnX-000165-Re; Thu, 12 Dec 2019 21:14:59 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnX-0000Bm-MC; Thu, 12 Dec 2019 21:14:59 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:34 +0000
Message-Id: <be1e6229ef7ce36da45182a47eeccf58d7bde886.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v3 7/7] Added Resolving Disagreement
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBndWlkZSBwcm92
aWRlcyBCZXN0IFByYWN0aWNlIG9uIGlkZW50aWZ5aW5nIGFuZCByZXNvbHZpbmcKY29tbW9uIGNs
YXNzZXMgb2YgZGlzYWdyZWVtZW50CgpDaGFuZ2VzIHNpbmNlIHYyIChhZGRlZCBpbiB2MikKKiBG
aXggdHlwb3MKKiBBZGQgc2VjdGlvbjogIklzc3VlOiBNdWx0aXBsZSB3YXlzIHRvIHNvbHZlIGEg
cHJvYmxlbSIKKiBDaGFuZ2VkIGxpbmUgd3JhcHBpbmcgdG8gODAgY2hhcmFjdGVycwoqIFJlcGxh
Y2VkIGlubGluZSBzdHlsZSBsaW5rcyB3aXRoIHJlZmVyZW5jZSBzdHlsZSBsaW5rcwoKU2lnbmVk
LW9mZi1ieTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgotLQpDYzogbWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3RzLnhlbnByb2plY3Qu
b3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IG1pcmFnZW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnByb2plY3Qub3JnCi0t
LQogcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZCB8IDE4OCArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTg4IGluc2VydGlvbnMo
KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCByZXNvbHZpbmctZGlzYWdyZWVtZW50Lm1kCgpkaWZmIC0t
Z2l0IGEvcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZCBiL3Jlc29sdmluZy1kaXNhZ3JlZW1lbnQu
bWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdiY2E3YgotLS0gL2Rldi9u
dWxsCisrKyBiL3Jlc29sdmluZy1kaXNhZ3JlZW1lbnQubWQKQEAgLTAsMCArMSwxODggQEAKKyMg
UmVzb2x2aW5nIERpc2FncmVlbWVudAorCitUaGlzIGd1aWRlIHByb3ZpZGVzIEJlc3QgUHJhY3Rp
Y2Ugb24gcmVzb2x2aW5nIGRpc2FncmVlbWVudCwgc3VjaCBhcworKiBHcmFjZWZ1bGx5IGFjY2Vw
dCBjb25zdHJ1Y3RpdmUgY3JpdGljaXNtCisqIEZvY3VzIG9uIHdoYXQgaXMgYmVzdCBmb3IgdGhl
IGNvbW11bml0eQorKiBSZXNvbHZlIGRpZmZlcmVuY2VzIGluIG9waW5pb24gZWZmZWN0aXZlbHkK
KworIyMgVGhlb3J5OiBQYXVsIEdyYWhhbSdzIGhpZXJhcmNoeSBvZiBkaXNhZ3JlZW1lbnQKKwor
UGF1bCBHcmFoYW0gcHJvcG9zZWQgYSAqKmRpc2FncmVlbWVudCBoaWVyYXJjaHkqKiBpbiBhIDIw
MDggZXNzYXkKKyoqW0hvdyB0byBEaXNhZ3JlZV1bMV0qKiwgcHV0dGluZyB0eXBlcyBvZiBhcmd1
bWVudHMgaW50byBhIHNldmVuLXBvaW50CitoaWVyYXJjaHkgYW5kIG9ic2VydmluZyB0aGF0ICpt
b3ZpbmcgdXAgdGhlIGRpc2FncmVlbWVudCBoaWVyYXJjaHkgbWFrZXMgcGVvcGxlCitsZXNzIG1l
YW4sIGFuZCB3aWxsIG1ha2UgbW9zdCBvZiB0aGVtIGhhcHBpZXIqLiBHcmFoYW0gYWxzbyBzdWdn
ZXN0ZWQgdGhhdCB0aGUKK2hpZXJhcmNoeSBjYW4gYmUgdGhvdWdodCBvZiBhcyBhIHB5cmFtaWQs
IGFzIHRoZSBoaWdoZXN0IGZvcm1zIG9mIGRpc2FncmVlbWVudAorYXJlIHJhcmVyLgorCit8ICFb
R3JhaGFtJ3MgSGllcmFyY2h5IG9mIERpc2FncmVlbWVudF1bMl0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8Cit8ICpBIHJlcHJlc2VudGF0aW9uIG9mIEdyYWhhbSdzIGhpZXJh
cmNoeSBvZiBkaXNhZ3JlZW1lbnQgZnJvbSBbTG91ZGFjcmlzXVszXQorICBtb2RpZmllZCBieSBb
Um9ja2V0MDAwXVs0XSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorCitJbiB0aGUgY29udGV4dCBvZiB0aGUgWGVuIFByb2plY3Qgd2Ugc3RyaXZlIHRv
ICoqb25seSB1c2UgdGhlIHRvcCBoYWxmKiogb2YgdGhlCitoaWVyYXJjaHkuICoqTmFtZS1jYWxs
aW5nKiogYW5kICoqQWQgaG9taW5lbSoqIGFyZ3VtZW50cyBhcmUgbm90IGFjY2VwdGFibGUKK3dp
dGhpbiB0aGUgWGVuIFByb2plY3QuCisKKyMjIElzc3VlOiBTY29wZSBjcmVlcAorCitPbmUgdGhp
bmcgd2hpY2ggb2NjYXNpb25hbGx5IGhhcHBlbnMgZHVyaW5nIGNvZGUgcmV2aWV3IGlzIHRoYXQg
YSBjb2RlIHJldmlld2VyCithc2tzIG9yIGFwcGVhcnMgdG8gYXNrIHRoZSBhdXRob3Igb2YgYSBw
YXRjaCB0byBpbXBsZW1lbnQgYWRkaXRpb25hbAorZnVuY3Rpb25hbGl0aWVzLgorCitUaGlzIGNv
dWxkIHRha2UgZm9yIGV4YW1wbGUgdGhlIGZvcm0gb2YKKz4gRG8geW91IHRoaW5rIGl0IHdvdWxk
IGJlIHVzZWZ1bCBmb3IgdGhlIGNvZGUgdG8gZG8gWFhYPworPiBJIGNhbiBpbWFnaW5lIGEgdXNl
ciB3YW50aW5nIHRvIGRvIFlZWSAoYW5kIFhYWCB3b3VsZCBlbmFibGUgdGhpcykKKworVGhhdCBw
b3RlbnRpYWxseSBhZGRzIGFkZGl0aW9uYWwgd29yayBmb3IgdGhlIGNvZGUgYXV0aG9yLCB3aGlj
aCB0aGV5IG1heSBub3QKK2hhdmUgdGhlIHRpbWUgdG8gcGVyZm9ybS4gSXQgaXMgZ29vZCBwcmFj
dGljZSBmb3IgYXV0aG9ycyB0byBjb25zaWRlciBzdWNoIGEKK3JlcXVlc3QgaW4gdGVybXMgb2YK
KyogVXNlZnVsbmVzcyB0byB0aGUgdXNlcgorKiBDb2RlIGNodXJuLCBjb21wbGV4aXR5IG9yIGlt
cGFjdCBvbiBvdGhlciBzeXN0ZW0gcHJvcGVydGllcworKiBFeHRyYSB0aW1lIHRvIGltcGxlbWVu
dCBhbmQgcmVwb3J0IGJhY2sgdG8gdGhlIHJldmlld2VyCisKK0lmIHlvdSBiZWxpZXZlIHRoYXQg
dGhlIGltcGFjdC9jb3N0IGlzIHRvbyBoaWdoLCByZXBvcnQgYmFjayB0byB0aGUgcmV2aWV3ZXIu
CitUbyByZXNvbHZlIHRoaXMsIGl0IGlzIGFkdmlzYWJsZSB0bworKiBSZXBvcnQgeW91ciBmaW5k
aW5ncworKiBBbmQgdGhlbiBjaGVjayB3aGV0aGVyIHRoaXMgd2FzIG1lcmVseSBhbiBpbnRlcmVz
dGluZyBzdWdnZXN0aW9uLCBvciBzb21ldGhpbmcKKyAgdGhlIHJldmlld2VyIGZlZWxzIG1vcmUg
c3Ryb25nbHkgYWJvdXQKKworSW4gdGhlIGxhdHRlciBjYXNlLCB0aGVyZSBhcmUgdHlwaWNhbGx5
IHNldmVyYWwgY29tbW9uIG91dGNvbWVzCisqIFRoZSAqKmF1dGhvciBhbmQgcmV2aWV3ZXIgYWdy
ZWUqKiB0aGF0IHRoZSBzdWdnZXN0aW9uIHNob3VsZCBiZSBpbXBsZW1lbnRlZAorKiBUaGUgKiph
dXRob3IgYW5kIHJldmlld2VyIGFncmVlKiogdGhhdCBpdCBtYXkgbWFrZSBzZW5zZSB0byBkZWZl
cgorICBpbXBsZW1lbnRhdGlvbgorKiBUaGUgKiphdXRob3IgYW5kIHJldmlld2VyIGFncmVlKiog
dGhhdCBpdCBtYWtlcyBubyBzZW5zZSB0byBpbXBsZW1lbnQgdGhlCisgIHN1Z2dlc3Rpb24KKwor
VGhlIGF1dGhvciBvZiBhIHBhdGNoIHdvdWxkIHR5cGljYWxseSBzdWdnZXN0IHRoZWlyIHByZWZl
cnJlZCBvdXRjb21lLCBmb3IKK2V4YW1wbGUKKz4gSSBhbSBub3Qgc3VyZSBpdCBpcyB3b3J0aCB0
byBpbXBsZW1lbnQgWFhYCis+IERvIHlvdSB0aGluayB0aGlzIGNvdWxkIGJlIGRvbmUgYXMgYSBz
ZXBhcmF0ZSBwYXRjaCBpbiBmdXR1cmU/CisKK0luIGNhc2VzLCB3aGVyZSBubyBhZ3JlZW1lbnQg
Y2FuIGJlIGZvdW5kLCB0aGUgYmVzdCBhcHByb2FjaCB3b3VsZCBiZSB0byBnZXQgYW4KK2luZGVw
ZW5kZW50IG9waW5pb24gZnJvbSBhbm90aGVyIG1haW50YWluZXIgb3IgdGhlIHByb2plY3QncyBs
ZWFkZXJzaGlwIHRlYW0uCisKKyMjIElzc3VlOiBbQmlrZXNoZWRkaW5nXVs1XQorCitPY2Nhc2lv
bmFsbHkgZGlzY3Vzc2lvbnMgYWJvdXQgdW5pbXBvcnRhbnQgYnV0IGVhc3ktdG8tZ3Jhc3AgaXNz
dWVzIGNhbiBsZWFkIHRvCitwcm9sb25nZWQgYW5kIHVucHJvZHVjdGl2ZSBkaXNjdXNzaW9ucy4g
VGhlIGJlc3Qgd2F5IHRvIGFwcHJvYWNoIHRoaXMgaXMgdG8KK3RyeSBhbmQgKiphbnRpY2lwYXRl
KiogYmlrZXNoZWRkaW5nIGFuZCBoaWdobGlnaHQgaXQgYXMgc3VjaCB1cGZyb250LiBIb3dldmVy
LAordGhlIGZvcm1hdCBvZiBhIGNvZGUgcmV2aWV3IGRvZXMgbm90IGFsd2F5cyBsZW5kIGl0c2Vs
ZiB3ZWxsIHRvIHRoaXMgYXBwcm9hY2gsCitleGNlcHQgZm9yIGhpZ2hsaWdodGluZyBpdCBpbiB0
aGUgY292ZXIgbGV0dGVyIG9mIGEgcGF0Y2ggc2VyaWVzLgorCitIb3dldmVyLCB0eXBpY2FsbHkg
QmlrZXNoZWRkaW5nIGlzc3VlcyBhcmUgZmFpcmx5IGVhc3kgdG8gcmVjb2duaXplIGluIGEgY29k
ZQorcmV2aWV3LCBhcyB5b3Ugd2lsbCB2ZXJ5IHF1aWNrbHkgZ2V0IGRpZmZlcmVudCByZXZpZXdl
cnMgcHJvdmlkaW5nIGRpZmZlcmluZworb3BpbmlvbnMuIEluIHRoaXMgY2FzZSBpdCBpcyBiZXN0
IGZvciB0aGUgYXV0aG9yIG9yIGEgcmV2aWV3ZXIgdG8gY2FsbCBvdXQgdGhlCitwb3RlbnRpYWwg
YmlrZXNoZWRkaW5nIGlzc3VlIHVzaW5nIHNvbWV0aGluZyBsaWtlCisKKz4gTG9va3Mgd2UgaGF2
ZSBhIGJpa2VzaGVkZGluZyBpc3N1ZSBoZXJlCis+IEkgdGhpbmsgd2Ugc2hvdWxkIGNhbGwgYSBx
dWljayB2b3RlIHRvIHNldHRsZSB0aGUgaXNzdWUKKworT3VyIGdvdmVybmFuY2UgcHJvdmlkZXMg
dGhlIG1lY2hhbmlzbXMgb2YgW2luZm9ybWFsIHZvdGVzXVs2XSBvcgorW2xhenkgdm90aW5nXVs3
XSB3aGljaCBsZW5kIHRoZW1zZWx2ZXMgd2VsbCB0byByZXNvbHZlIHN1Y2ggaXNzdWVzLgorCisj
IyBJc3N1ZTogU21hbGwgZnVuY3Rpb25hbCBpc3N1ZXMKKworVGhlIG1vc3QgY29tbW9uIGFyZWEg
b2YgZGlzYWdyZWVtZW50cyB3aGljaCBoYXBwZW4gaW4gY29kZSByZXZpZXdzLCBhcmUKK2RpZmZl
cmluZyBvcGluaW9ucyBvbiB3aGV0aGVyIHNtYWxsIGZ1bmN0aW9uYWwgaXNzdWVzIGluIGEgcGF0
Y2ggc2VyaWVzIGhhdmUgdG8KK2JlIHJlc29sdmVkIG9yIG5vdCBiZWZvcmUgdGhlIGNvZGUgaXMg
cmVhZHkgdG8gYmUgc3VibWl0dGVkLiBTdWNoIGRpc2FncmVlbWVudHMKK2FyZSB0eXBpY2FsbHkg
Y2F1c2VkIGJ5IGRpZmZlcmVudCBleHBlY3RhdGlvbnMgcmVsYXRlZCB0byB0aGUgbGV2ZWwgb2YK
K3BlcmZlY3Rpb24gYSBwYXRjaCBzZXJpZXMgbmVlZHMgdG8gZnVsZmlsIGJlZm9yZSBpdCBjYW4g
YmUgY29uc2lkZXJlZCByZWFkeSB0bworYmUgY29tbWl0dGVkLgorCitUbyBleHBsYWluIHRoaXMg
YmV0dGVyLCBJIGFtIGdvaW5nIHRvIHVzZSB0aGUgYW5hbG9neSBvZiBzb21lIGJ1aWxkaW5nIHdv
cmsgdGhhdAoraGFzIGJlZW4gcGVyZm9ybWVkIGF0IHlvdXIgaG91c2UuIExldCdzIHNheSB0aGF0
IHlvdSBoYXZlIGEgbmV3IGJhdGhyb29tCitpbnN0YWxsZWQuIEJlZm9yZSBwYXlpbmcgeW91ciBi
dWlsZGVyIHRoZSBsYXN0IGluc3RhbG1lbnQsIHlvdSBwZXJmb3JtIGFuCitpbnNwZWN0aW9uIGFu
ZCB5b3UgZmluZCBpc3N1ZXMgc3VjaCBhcworKiBUaGUgc2VhbHMgYXJvdW5kIHRoZSBiYXRodHVi
IGFyZSBub3QgcGVyZmVjdGx5IGV2ZW4KKyogV2hlbiB5b3Ugb3BlbiB0aGUgdGFwLCB0aGUgcGx1
bWJpbmcgaW5pdGlhbGx5IG1ha2VzIHNvbWUgbG91ZCBub2lzZQorKiBUaGUgc2hvd2VyIG1peGVy
IGhhcyBiZWVuIGluc3RhbGxlZCB0aGUgd3Jvbmcgd2F5IGFyb3VuZAorCitJbiBhbGwgdGhlc2Ug
Y2FzZXMsIHRoZSBiYXRocm9vbSBpcyBwZXJmZWN0bHkgZnVuY3Rpb25hbCwgYnV0IG5vdCBwZXJm
ZWN0LiBBdAordGhpcyBwb2ludCB5b3UgaGF2ZSB0aGUgY2hvaWNlIHRvIHRyeSBhbmQgZ2V0IGFs
bCB0aGUgaXNzdWVzIGFkZHJlc3NlZCwgd2hpY2ggaW4KK3RoZSBleGFtcGxlIG9mIHRoZSBzaG93
ZXIgbWl4ZXIgbWF5IHJlcXVpcmUgc2lnbmlmaWNhbnQgcmUtd29yayBhbmQgcG90ZW50aWFsbHkK
K3B1c2gtYmFjayBmcm9tIHlvdXIgYnVpbGRlci4gWW91IG1heSBoYXZlIHRvIHJlZmVyIHRvIHRo
ZSBpbml0aWFsIHN0YXRlbWVudCBvZgord29yaywgYnV0IGl0IHR1cm5zIG91dCBpdCBkb2VzIG5v
dCBjb250YWluIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gYXNjZXJ0YWluCit3aGV0aGVyIHlv
dXIgYnVpbGRlciBoYWQgY29tbWl0dGVkIHRvIHRoZSBsZXZlbCBvZiBxdWFsaXR5IHlvdSB3ZXJl
IGV4cGVjdGluZy4KKworU2ltaWxhciBzaXR1YXRpb25zIGhhcHBlbiBpbiBjb2RlIHJldmlld3Mg
dmVyeSBmcmVxdWVudGx5IGFuZCBjYW4gbGVhZCB0byBhIGxvbmcKK2Rpc2N1c3Npb24gYmVmb3Jl
IGl0IGNhbiBiZSByZXNvbHZlZC4gVGhlIG1vc3QgaW1wb3J0YW50IHRoaW5nIGlzIHRvCisqKmlk
ZW50aWZ5KiogYSBkaXNhZ3JlZW1lbnQgYXMgc3VjaCBlYXJseSBhbmQgdGhlbiBjYWxsIGl0IG91
dC4gVGlwcyBvbiBob3cgdG8KK2RvIHRoaXMsIGNhbiBiZSBmb3VuZCBbaGVyZV1bOF0uCisKK0F0
IHRoaXMgcG9pbnQsIHlvdSB3aWxsIHVuZGVyc3RhbmQgd2h5IHlvdSBoYXZlIHRoZSBkaXNhZ3Jl
ZW1lbnQsIGJ1dCBub3QKK25lY2Vzc2FyaWx5IGFncmVlbWVudCBvbiBob3cgdG8gbW92ZSBmb3J3
YXJkLiBBbiBlYXN5IGZpeCB3b3VsZCBiZSB0byBhZ3JlZSB0bworc3VibWl0IHRoZSBjaGFuZ2Ug
YXMgaXQgaXMgYW5kIGZpeCBpdCBpbiBmdXR1cmUuIEluIGEgY29ycG9yYXRlIHNvZnR3YXJlCitl
bmdpbmVlcmluZyBlbnZpcm9ubWVudCB0aGlzIGlzIHRoZSBtb3N0IGxpa2VseSBvdXRjb21lLCBi
dXQgaW4gb3BlbiBzb3VyY2UKK2NvbW11bml0aWVzIGFkZGl0aW9uYWwgY29uY2VybnMgaGF2ZSB0
byBiZSBjb25zaWRlcmVkLgorKiBDb2RlIHJldmlld2VycyBmcmVxdWVudGx5IGhhdmUgYmVlbiBp
biB0aGlzIHNpdHVhdGlvbiBiZWZvcmUgd2l0aCB0aGUgbW9zdAorICBjb21tb24gb3V0Y29tZSB0
aGF0IHRoZSBpc3N1ZSBpcyB0aGVuIG5ldmVyIGZpeGVkLiBCeSBhY2NlcHRpbmcgdGhlIGNoYW5n
ZSwKKyAgdGhlIHJldmlld2VycyBoYXZlIG5vIGxldmVyYWdlIHRvIGZpeCB0aGUgaXNzdWUgYW5k
IG1heSBoYXZlIHRvIHNwZW5kIGVmZm9ydAorICBmaXhpbmcgdGhlIGlzc3VlIHRoZW1zZWx2ZXMg
aW4gZnV0dXJlIGFzIGl0IG1heSBpbXBhY3QgdGhlIHByb2R1Y3QgdGhleSBidWlsdAorICBvbiB0
b3Agb2YgdGhlIGNvZGUuCisqIENvbnZlcnNlbHksIGEgcmV2aWV3ZXIgbWF5IGJlIGFza2luZyB0
aGUgYXV0aG9yIHRvIG1ha2UgdG9vIG1hbnkgY2hhbmdlcyBvZgorICB0aGlzIHR5cGUgd2hpY2gg
dWx0aW1hdGVseSBtYXkgbGVhZCB0aGUgYXV0aG9yIHRvIG5vdCBjb250cmlidXRlIHRvIHRoZQor
ICBwcm9qZWN0IGFnYWluLgorKiBBbiBhdXRob3IsIHdoaWNoIGNvbnNpc3RlbnRseSBkb2VzIG5v
dCBhZGRyZXNzICoqYW55Kiogb2YgdGhlc2UgaXNzdWVzIG1heQorICBlbmQgdXAgZ2V0dGluZyBh
IGJhZCByZXB1dGF0aW9uIGFuZCBtYXkgZmluZCBmdXR1cmUgY29kZSByZXZpZXdzIG1vcmUKKyAg
ZGlmZmljdWx0LgorKiBBbiBhdXRob3Igd2hpY2ggYWx3YXlzIGFkZHJlc3NlcyAqKmFsbCoqIG9m
IHRoZXNlIGlzc3VlcyBtYXkgZW5kIHVwIGdldHRpbmcKKyAgaW50byBkaWZmaWN1bHRpZXMgd2l0
aCB0aGVpciBlbXBsb3llciwgYXMgdGhleSBhcmUgdG9vIHNsb3cgZ2V0dGluZyBjb2RlCisgIHVw
c3RyZWFtZWQuCisKK05vbmUgb2YgdGhlc2Ugb3V0Y29tZXMgYXJlIGdvb2QsIHNvIHVsdGltYXRl
bHkgYSBiYWxhbmNlIGhhcyB0byBiZSBmb3VuZC4gQXQKK3RoZSBlbmQgb2YgdGhlIGRheSwgdGhl
IHNvbHV0aW9uIHNob3VsZCBmb2N1cyBvbiB3aGF0IGlzIGJlc3QgZm9yIHRoZSBjb21tdW5pdHks
Cit3aGljaCBtYXkgbWVhbiBhc2tpbmcgZm9yIGFuIGluZGVwZW5kZW50IG9waW5pb24gYXMgb3V0
bGluZWQgaW4gdGhlIG5leHQKK3NlY3Rpb24uCisKKyMjIElzc3VlOiBNdWx0aXBsZSB3YXlzIHRv
IHNvbHZlIGEgcHJvYmxlbQorCitGcmVxdWVudGx5IGl0IGlzIHBvc3NpYmxlIHRoYXQgYSBwcm9i
bGVtIGNhbiBiZSBzb2x2ZWQgaW4gbXVsdGlwbGUgd2F5cyBhbmQgaXQKK2lzIG5vdCBhbHdheXMg
b2J2aW91cyB3aGljaCBvbmUgaXMgYmVzdC4gQ29kZSByZXZpZXdlcnMgdGVuZCB0byBmb2xsb3cg
dGhlaXIKK3BlcnNvbmFsIGNvZGluZyBzdHlsZSB3aGVuIHJldmlld2luZyBjaWRlIGFuZCBzb21l
dGltZXMgd2lsbCBzdWdnZXN0IHRoYXQgYQorY29kZSBhdXRob3IgbWFrZXMgY2hhbmdlcyB0byBm
b2xsb3cgdGhlaXIgb3duIHN0eWxlLCBldmVuIHdoZW4gdGhlIGF1dGhvcidzCitjb2RlIGlzIGNv
cnJlY3QuIEluICBzdWNoIGNhc2VzLCBpdCBpcyBlYXN5IHRvIGRpc2FncmVlIGFuZCBzdGFydCBh
cmd1aW5nLgorCitXZSByZWNvbW1lbmQgdGhhdCB0aGUgY29kZSBhdXRob3IgdHJpZXMgdG8gZm9s
bG93IHRoZSBjb2RlIHJldmlld2VycyByZXF1ZXN0cywKK2V2ZW4gIGlmIHRoZXkgY291bGQgYmUg
Y29uc2lkZXJlZCBzdHlsZSBpc3N1ZXMsIHRydXN0aW5nIHRoZSBleHBlcmllbmNlIG9mIHRoZQor
Y29kZSByZXZpZXdlci4gU2ltaWxhcmx5LCB3ZSBhc2sgY29kZSByZXZpZXdlcnMgdG8gbGV0IHRo
ZSBjb250cmlidXRvciBoYXZlIHRoZQorZnJlZWRvbSBvZiBpbXBsZW1lbnRhdGlvbiBjaG9pY2Vz
LCB3aGVyZSB0aGV5IGRvIG5vdCBoYXZlIGEgZG93bnNpZGUuCisKK1dlIGRvIG5vdCBhbHdheXMg
c3VjY2VlZCBpbiB0aGlzLCBhcyBzdWNoIGl0IGlzIGltcG9ydGFudCB0byAqKmlkZW50aWZ5Kiog
c3VjaCBhCitzaXR1YXRpb24gYW5kIHRoZW4gY2FsbCBpdCBvdXQgYXMgb3V0bGluZWQgW2hlcmVd
WzhdLgorCisjIyBSZXNvbHV0aW9uOiBBc2tpbmcgZm9yIGFuIGluZGVwZW5kZW50IG9waW5pb24K
KworTW9zdCBkaXNhZ3JlZW1lbnRzIGNhbiBiZSBzZXR0bGVkIGJ5CisqIEFza2luZyBhbm90aGVy
IG1haW50YWluZXIgb3IgY29tbWl0dGVyIHRvIHByb3ZpZGUgYW4gaW5kZXBlbmRlbnQgb3Bpbmlv
biBvbiB0aGUKKyAgc3BlY2lmaWMgaXNzdWUgaW4gcHVibGljIHRvIGhlbHAgcmVzb2x2ZSBpdAor
KiBGYWlsaW5nIHRoaXMgYW4gaXNzdWUgY2FuIGJlIGVzY2FsYXRlZCB0byB0aGUgcHJvamVjdCBs
ZWFkZXJzaGlwIHRlYW0sIHdoaWNoIGlzCisgIGV4cGVjdGVkIHRvIGFjdCBhcyByZWZlcmVlIGFu
ZCBtYWtlIGEgZGVjaXNpb24gb24gYmVoYWxmIG9mIHRoZSBjb21tdW5pdHkKKworSWYgeW91IGZl
ZWwgdW5jb21mb3J0YWJsZSB3aXRoIHRoaXMgYXBwcm9hY2gsIHlvdSBtYXkgYWxzbyBjb250YWN0
CittZWRpYXRpb25AeGVucHJvamVjdC5vcmcgdG8gZ2V0IGFkdmljZS4gU2VlIG91ciBbQ29tbXVu
aWNhdGlvbiBHdWlkZV1bOV0KK2ZvciBtb3JlIGluZm9ybWF0aW9uLgorCisjIyBEZWNpc2lvbiBt
YWtpbmcgYW5kIGNvbmZsaWN0IHJlc29sdXRpb24gaW4gb3VyIGdvdmVybmFuY2UKKworT3VyIFtn
b3Zlcm5hbmNlXVtBXSBjb250YWlucyBzZXZlcmFsIHByb3ZlbiBtZWNoYW5pc21zIHRvIGhlbHAg
d2l0aCBkZWNpc2lvbgorbWFraW5nIGFuZCBjb25mbGljdCByZXNvbHV0aW9uLgorCitTZWUKKyog
W0V4cHJlc3NpbmcgYWdyZWVtZW50IGFuZCBkaXNhZ3JlZW1lbnRdW0JdCisqIFtMYXp5IGNvbnNl
bnN1cyAvIExhenkgdm90aW5nXVs3XQorKiBbSW5mb3JtYWwgdm90ZXMgb3Igc3VydmV5c11bNl0K
KyogW0xlYWRlcnNoaXAgdGVhbSBkZWNpc2lvbnNdW0NdCisqIFtDb25mbGljdCByZXNvbHV0aW9u
XVtEXQorCitbMV06IGh0dHA6Ly93d3cucGF1bGdyYWhhbS5jb20vZGlzYWdyZWUuaHRtbAorWzJd
OiBodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL2EvYTMvR3Jh
aGFtJTI3c19IaWVyYXJjaHlfb2ZfRGlzYWdyZWVtZW50LWVuLnN2ZworWzNdOiBodHRwOi8vd3d3
LmNyZWF0ZWRlYmF0ZS5jb20vdXNlci92aWV3cHJvZmlsZS9Mb3VkYWNyaXMKK1s0XTogaHR0cHM6
Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVXNlcjpSb2NrZXQwMDAKK1s1XTogaHR0cHM6Ly9lbi53
aWt0aW9uYXJ5Lm9yZy93aWtpL2Jpa2VzaGVkZGluZworWzZdOiBodHRwczovL3hlbnByb2plY3Qu
b3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jaW5mb3JtYWwtdm90ZXMtb3Itc3VydmV5cworWzdd
OiBodHRwczovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jbGF6eWNvbnNl
bnN1cworWzhdOiBjb21tdW5pY2F0aW9uLXByYWN0aWNlLm1kI01pc3VuZGVyc3RhbmRpbmdzCitb
OV06IGNvbW11bmljYXRpb24tZ3VpZGUubWQKK1tBXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9k
ZXZlbG9wZXJzL2dvdmVybmFuY2UvI2RlY2lzaW9ucworW0JdOiBodHRwczovL3hlbnByb2plY3Qu
b3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jZXhwcmVzc2luZ29waW5pb24KK1tDXTogaHR0cHM6
Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2xlYWRlcnNoaXAKK1tEXTog
aHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2NvbmZsaWN0Ci0t
IAoyLjEzLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
cmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Wed Dec 18 17:09:53 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 17:09:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ihcpO-0001wC-Ek; Wed, 18 Dec 2019 17:09:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0dd+=2I=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ihcpN-0001w5-HC
 for mirageos-devel@lists.xenproject.org; Wed, 18 Dec 2019 17:09:37 +0000
X-Inumbo-ID: 27033462-21b9-11ea-90ce-12813bfff9fa
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 27033462-21b9-11ea-90ce-12813bfff9fa;
 Wed, 18 Dec 2019 17:09:31 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576688971;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=jNIhcddd0bO+CkEmQ6ulaol2vyUiU1n94IYXvS0vGEA=;
 b=Y6LEnMtaPNVgHt2wHw8C7N2ssbHxYzVGTjVaRHIbUH/RBbqtTBJmqh99
 aOLlVsKquJfHlwyStGK9U50UFmoWOwUy8TTDuu6JZhrtGLEO39xnwQnZn
 FCSVQYfluX7WqHnRqPE+97/X9G/LB6HtbZPqyuP54YQyowt/8dU7O3Nc1 Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: VsBcbBGGXCbAcN2P6qWVIJ3tssSaSQxWYfS2rGPd3+6nXdTMKzl72JL+BwHeBfpWRmU4Iq6VAQ
 e+xyMcNtP4677dVMvGNhV7ItJ2FllUAzFO5rn5duovyfuRoFeBlPVDhU5MJds/4w4+5hgRxi68
 SjWwNAS06b8pkGsdiwx3DJRFqHZssEayecxtuhtJhKTvyMUtiIBSgBIoGHRj/LhOx7NiBWR1e2
 m/WuEpQur9ANBZdRMUg/HYBijNIU7+S6yI67gSAfhWTZt2LOKeRYEDTRxI6t/TOvZL7sXEA9Ei
 htM=
X-SBRS: 2.7
X-MesageID: 10034170
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,330,1571716800"; d="scan'208";a="10034170"
From: Lars Kurth <lars.kurth@citrix.com>
To: Julien Grall <julien@xen.org>, Lars Kurth <lars.kurth@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Thread-Topic: [PATCH v3 5/7] Add Code Review Guide
Thread-Index: AQHVsTE52Xd4Fx4F50OKdcHmKTc7r6e/7A8AgAAseIA=
Date: Wed, 18 Dec 2019 17:09:00 +0000
Message-ID: <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
In-Reply-To: <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.11.191208
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
Content-ID: <CDD65A22DD84BD4AADD36D863835D909@citrix.com>
MIME-Version: 1.0
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

DQoNCu+7v09uIDE4LzEyLzIwMTksIDE0OjI5LCAiSnVsaWVuIEdyYWxsIiA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KDQogICAgSGkgTGFycywNCiAgICANCiAgICBPbiAxMi8xMi8yMDE5IDIxOjE0
LCBMYXJzIEt1cnRoIHdyb3RlOg0KICAgID4gKyMjIyBXb3JrZmxvdyBmcm9tIGFuIEF1dGhvcidz
IFBlcnNwZWN0aXZlDQogICAgPiArDQogICAgPiArV2hlbiBjb2RlIGF1dGhvcnMgcmVjZWl2ZSBm
ZWVkYmFjayBvbiB0aGVpciBwYXRjaGVzLCB0aGV5IHR5cGljYWxseSBmaXJzdCB0cnkNCiAgICA+
ICt0byBjbGFyaWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZvciBzbWFsbGVy
IHBhdGNoZXMgb3IgcGF0Y2ggc2VyaWVzDQogICAgPiAraXQgbWFrZXMgc2Vuc2UgdG8gd2FpdCB1
bnRpbCByZWNlaXZpbmcgZmVlZGJhY2sgb24gdGhlIGVudGlyZSBzZXJpZXMgYmVmb3JlDQogICAg
PiArc2VuZGluZyBvdXQgYSBuZXcgdmVyc2lvbiBhZGRyZXNzaW5nIHRoZSBjaGFuZ2VzLiBGb3Ig
bGFyZ2VyIHNlcmllcywgaXQgbWF5DQogICAgPiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5l
dyByZXZpc2lvbiBlYXJsaWVyLg0KICAgID4gKw0KICAgID4gK0FzIGEgcmV2aWV3ZXIsIHlvdSBu
ZWVkIHNvbWUgc3lzdGVtIHRoYXQgaGU7cHMgZW5zdXJlIHRoYXQgeW91IGFkZHJlc3MgYWxsDQog
ICAgDQogICAgSnVzdCBhIHNtYWxsIHR5cG86IEkgdGhpbmsgeW91IG1lYW50ICJoZWxwcyIgcmF0
aGVyIHRoYW4gImhlO3BzIi4NCiAgICANCiAgICBDaGVlcnMsDQogICAgDQpUaGFuayB5b3U6IGZp
eGVkIGluIG15IHdvcmtpbmcgY29weS4NCg0KT25lIHRoaW5nIHdoaWNoIG9jY3VycmVkIHRvIG1l
IGZvciByZXZpZXdzIGxpa2UgdGhlc2UsIHdoZXJlIHRoZXJlIGlzIG5vIEFDSydzIG9yIFJldmll
d2VkLWJ5J3MgaXMgdGhhdCBJIGRvbid0IGFjdHVhbGx5IGtub3cgd2hldGhlciB5b3UgYXMgcmV2
aWV3ZXIgaXMgb3RoZXJ3aXNlIGhhcHB5IHdpdGggdGhlIHJlbWFpbmRlciBvZiBwYXRjaC4NCk5v
cm1hbGx5IHRoZSBBQ0tlZC1ieSBvciBSZXZpZXdlZC1ieSBpcyBhIHNpZ25hbCB0aGF0IGl0IGlz
DQoNCkkgYW0gYXNzdW1pbmcgaXQgaXMsIGJ1dCBJIHRoaW5rIGl0IG1heSBiZSB3b3J0aHdoaWxl
IHBvaW50aW5nIHRoaXMgb3V0IGluIHRoZSBkb2N1bWVudCwgdGhhdCB1bmxlc3Mgc3RhdGVkIG90
aGVyd2lzZSwgdGhlIHJldmlld2VyIGlzIGhhcHB5IHdpdGggdGhlIHBhdGNoDQoNClJlZ2FyZHMN
CkxhcnMgDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pcmFnZU9TLWRldmVsIG1haWxpbmcgbGlzdApNaXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWly
YWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 09:57:13 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 09:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ihsYG-0005BB-1V; Thu, 19 Dec 2019 09:57:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=ScRH=2J=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1ihsYE-0005Ak-4w
 for mirageos-devel@lists.xenproject.org; Thu, 19 Dec 2019 09:56:58 +0000
X-Inumbo-ID: c4ef7992-2245-11ea-a1e1-bc764e2007e4
Received: from mx2.suse.de (unknown [195.135.220.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c4ef7992-2245-11ea-a1e1-bc764e2007e4;
 Thu, 19 Dec 2019 09:56:04 +0000 (UTC)
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
Received: from relay2.suse.de (unknown [195.135.220.254])
 by mx2.suse.de (Postfix) with ESMTP id 405D6AF41;
 Thu, 19 Dec 2019 09:56:03 +0000 (UTC)
To: Lars Kurth <lars.kurth@citrix.com>, Lars Kurth <lars.kurth@xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
Date: Thu, 19 Dec 2019 10:56:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
Content-Language: en-US
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Julien Grall <julien@xen.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

T24gMTguMTIuMjAxOSAxODowOSwgTGFycyBLdXJ0aCB3cm90ZToKPiAKPiAKPiDvu79PbiAxOC8x
Mi8yMDE5LCAxNDoyOSwgIkp1bGllbiBHcmFsbCIgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToKPiAK
PiAgICAgSGkgTGFycywKPiAgICAgCj4gICAgIE9uIDEyLzEyLzIwMTkgMjE6MTQsIExhcnMgS3Vy
dGggd3JvdGU6Cj4gICAgID4gKyMjIyBXb3JrZmxvdyBmcm9tIGFuIEF1dGhvcidzIFBlcnNwZWN0
aXZlCj4gICAgID4gKwo+ICAgICA+ICtXaGVuIGNvZGUgYXV0aG9ycyByZWNlaXZlIGZlZWRiYWNr
IG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZpcnN0IHRyeQo+ICAgICA+ICt0byBj
bGFyaWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZvciBzbWFsbGVyIHBhdGNo
ZXMgb3IgcGF0Y2ggc2VyaWVzCj4gICAgID4gK2l0IG1ha2VzIHNlbnNlIHRvIHdhaXQgdW50aWwg
cmVjZWl2aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVzIGJlZm9yZQo+ICAgICA+ICtz
ZW5kaW5nIG91dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBsYXJn
ZXIgc2VyaWVzLCBpdCBtYXkKPiAgICAgPiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5ldyBy
ZXZpc2lvbiBlYXJsaWVyLgo+ICAgICA+ICsKPiAgICAgPiArQXMgYSByZXZpZXdlciwgeW91IG5l
ZWQgc29tZSBzeXN0ZW0gdGhhdCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKPiAg
ICAgCj4gICAgIEp1c3QgYSBzbWFsbCB0eXBvOiBJIHRoaW5rIHlvdSBtZWFudCAiaGVscHMiIHJh
dGhlciB0aGFuICJoZTtwcyIuCj4gICAgIAo+ICAgICBDaGVlcnMsCj4gICAgIAo+IFRoYW5rIHlv
dTogZml4ZWQgaW4gbXkgd29ya2luZyBjb3B5Lgo+IAo+IE9uZSB0aGluZyB3aGljaCBvY2N1cnJl
ZCB0byBtZSBmb3IgcmV2aWV3cyBsaWtlIHRoZXNlLCB3aGVyZSB0aGVyZSBpcyBubyBBQ0sncyBv
ciBSZXZpZXdlZC1ieSdzIGlzIHRoYXQgSSBkb24ndCBhY3R1YWxseSBrbm93IHdoZXRoZXIgeW91
IGFzIHJldmlld2VyIGlzIG90aGVyd2lzZSBoYXBweSB3aXRoIHRoZSByZW1haW5kZXIgb2YgcGF0
Y2guCj4gTm9ybWFsbHkgdGhlIEFDS2VkLWJ5IG9yIFJldmlld2VkLWJ5IGlzIGEgc2lnbmFsIHRo
YXQgaXQgaXMKPiAKPiBJIGFtIGFzc3VtaW5nIGl0IGlzLCBidXQgSSB0aGluayBpdCBtYXkgYmUg
d29ydGh3aGlsZSBwb2ludGluZyB0aGlzIG91dCBpbiB0aGUgZG9jdW1lbnQsIHRoYXQgdW5sZXNz
IHN0YXRlZCBvdGhlcndpc2UsIHRoZSByZXZpZXdlciBpcyBoYXBweSB3aXRoIHRoZSBwYXRjaAoK
SSBkb24ndCB0aGluayB0aGVyZSBzaG91bGQgZXZlciBiZSBzdWNoIGFuIGltcGxpY2F0aW9uLiBB
ZmFpYyB0aGVyZQphcmUgcGF0Y2hlcyBJIGNvbW1lbnQgdXBvbiwgYnV0IHRoYXQgSSBlaXRoZXIg
ZG9uJ3QgZmVlbCBxdWFsaWZpZWQKdG8gZ2l2ZSBhbiBhY2svUi1iIG9uLCBvciB0aGF0IEkgc2lt
cGx5IGRvbid0IHdhbnQgdG8gZm9yIHdoYXRldmVyCnJlYXNvbi4gQXQgYmVzdCwgbm8gb3RoZXIg
Y29tbWVudCAoYXMgaW4gdGhlIGFib3ZlIGV4YW1wbGUpIG1heSBiZQp0YWtlbiBhcyAiSSBkb24n
dCBvYmplY3QiLgoKSmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 10:03:16 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 10:03:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ihseG-0006Fo-M2; Thu, 19 Dec 2019 10:03:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=SZrV=2J=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1ihseE-0006Fj-Rv
 for mirageos-devel@lists.xenproject.org; Thu, 19 Dec 2019 10:03:10 +0000
X-Inumbo-ID: c1e054dc-2246-11ea-a914-bc764e2007e4
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c1e054dc-2246-11ea-a914-bc764e2007e4;
 Thu, 19 Dec 2019 10:03:08 +0000 (UTC)
Received: by mail-wm1-x342.google.com with SMTP id 20so4828732wmj.4;
 Thu, 19 Dec 2019 02:03:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:mime-version:subject:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=hlmutj29Mv+oNv5ld2Or2ujG/4pVcFrZodzfldMf1oQ=;
 b=FtAsu6AQ+X/QB7TD9tgObM1SEqgIw8QB5P+4fkAM/s4SuYfC0mIKmEAmZV+fsvNASA
 ykhN2rJ7DD2b5/89/f8GAgqZQTG9Z210ZwgOyq6KTt7nKY3CvgdqGlUq/AUARuk9VZAM
 C8U8qf7kKI8s2WPGLvxlzDOkA5FnhQITJri7OCxP1rRnuMxiGCrZHQ92nfUecaIFXayx
 8mA2mCPX4dewu87DmiAv0F/XGRxOQJowo4fcLPVG9zvPP5txU8RiPfmeySs09gXAAHJh
 F/+uYrek+NJvcZqOeA8SHtaA/WhU8T7seE7zMHhf/tuN3oJ6u+qtH3r8hr4EcFPADv4k
 G56A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:mime-version:subject:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=hlmutj29Mv+oNv5ld2Or2ujG/4pVcFrZodzfldMf1oQ=;
 b=TV635rsr/Omd+HCa/61WkFW4lTFYYb7Mk3SxDUSr9zQus9YRpG/0/c8bfeIq18eRV2
 rm0qoxb499d9PDKLuubCydIMaE9BMiditI3W0yKGj4yT1kjPune+X6cgmM5RhYl2wGdZ
 j/Ef8taOy55KkyHvThARLiWIjiHBVV8nmZN5VTcupU3wtyedfq9Y4KYvP2PQ8eFVxW5z
 rITnmp4XhMCFAF33lwXfwD92FWiJq2V6HbZ9cf+GDGYedYCeJsydhY5dJyeGlwzwq3k0
 bwDK+iqpsYgLii1wzMZ5q03+FAPB/jcubSMjUi678z03EwExVxeIP6GJvM+85BOeYAOh
 z+wQ==
X-Gm-Message-State: APjAAAUQkKruSykzvB0HANUkZblN3rV7dVU8sRa855jeBueQRUI1Ulks
 h/S8sIx7WbEewEbEWusO5uwBEoDA
X-Google-Smtp-Source: APXvYqx44/U9WE8B4+fooFTBnqb6tsRL7SH4SVAZmmrqswvjxSsAaTauIxlTjsgIHDZU18QU5SLs1Q==
X-Received: by 2002:a05:600c:2207:: with SMTP id
 z7mr8693903wml.138.1576749787471; 
 Thu, 19 Dec 2019 02:03:07 -0800 (PST)
Received: from ?IPv6:2a01:4c8:1038:6f39:cd58:18e8:a347:8ea6?
 ([2a01:4c8:1038:6f39:cd58:18e8:a347:8ea6])
 by smtp.gmail.com with ESMTPSA id u13sm5636149wmd.36.2019.12.19.02.03.06
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 19 Dec 2019 02:03:06 -0800 (PST)
From: Lars Kurth <lars.kurth.xen@gmail.com>
X-Google-Original-From: Lars Kurth <lars.kurth@xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
In-Reply-To: <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
Date: Thu, 19 Dec 2019 10:03:04 +0000
Message-Id: <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
To: 'Jan Beulich' <jbeulich@suse.com>
X-Mailer: Apple Mail (2.3445.104.11)
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

Cgo+IE9uIDE5IERlYyAyMDE5LCBhdCAwOTo1NiwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPiB3cm90ZToKPiAKPiBPbiAxOC4xMi4yMDE5IDE4OjA5LCBMYXJzIEt1cnRoIHdyb3RlOgo+
PiAKPj4gCj4+IO+7v09uIDE4LzEyLzIwMTksIDE0OjI5LCAiSnVsaWVuIEdyYWxsIiA8anVsaWVu
QHhlbi5vcmc+IHdyb3RlOgo+PiAKPj4gICAgSGkgTGFycywKPj4gCj4+ICAgIE9uIDEyLzEyLzIw
MTkgMjE6MTQsIExhcnMgS3VydGggd3JvdGU6Cj4+PiArIyMjIFdvcmtmbG93IGZyb20gYW4gQXV0
aG9yJ3MgUGVyc3BlY3RpdmUKPj4+ICsKPj4+ICtXaGVuIGNvZGUgYXV0aG9ycyByZWNlaXZlIGZl
ZWRiYWNrIG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZpcnN0IHRyeQo+Pj4gK3Rv
IGNsYXJpZnkgZmVlZGJhY2sgdGhleSBkbyBub3QgdW5kZXJzdGFuZC4gRm9yIHNtYWxsZXIgcGF0
Y2hlcyBvciBwYXRjaCBzZXJpZXMKPj4+ICtpdCBtYWtlcyBzZW5zZSB0byB3YWl0IHVudGlsIHJl
Y2VpdmluZyBmZWVkYmFjayBvbiB0aGUgZW50aXJlIHNlcmllcyBiZWZvcmUKPj4+ICtzZW5kaW5n
IG91dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBsYXJnZXIgc2Vy
aWVzLCBpdCBtYXkKPj4+ICttYWtlIHNlbnNlIHRvIHNlbmQgb3V0IGEgbmV3IHJldmlzaW9uIGVh
cmxpZXIuCj4+PiArCj4+PiArQXMgYSByZXZpZXdlciwgeW91IG5lZWQgc29tZSBzeXN0ZW0gdGhh
dCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKPj4gCj4+ICAgIEp1c3QgYSBzbWFs
bCB0eXBvOiBJIHRoaW5rIHlvdSBtZWFudCAiaGVscHMiIHJhdGhlciB0aGFuICJoZTtwcyIuCj4+
IAo+PiAgICBDaGVlcnMsCj4+IAo+PiBUaGFuayB5b3U6IGZpeGVkIGluIG15IHdvcmtpbmcgY29w
eS4KPj4gCj4+IE9uZSB0aGluZyB3aGljaCBvY2N1cnJlZCB0byBtZSBmb3IgcmV2aWV3cyBsaWtl
IHRoZXNlLCB3aGVyZSB0aGVyZSBpcyBubyBBQ0sncyBvciBSZXZpZXdlZC1ieSdzIGlzIHRoYXQg
SSBkb24ndCBhY3R1YWxseSBrbm93IHdoZXRoZXIgeW91IGFzIHJldmlld2VyIGlzIG90aGVyd2lz
ZSBoYXBweSB3aXRoIHRoZSByZW1haW5kZXIgb2YgdGhlIHBhdGNoLgo+PiBOb3JtYWxseSB0aGUg
QUNLZWQtYnkgb3IgUmV2aWV3ZWQtYnkgaXMgYSBzaWduYWwgdGhhdCBpdCBpcwo+PiAKPj4gSSBh
bSBhc3N1bWluZyBpdCBpcywgYnV0IEkgdGhpbmsgaXQgbWF5IGJlIHdvcnRod2hpbGUgcG9pbnRp
bmcgdGhpcyBvdXQgaW4gdGhlIGRvY3VtZW50LCB0aGF0IHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNl
LCB0aGUgcmV2aWV3ZXIgaXMgaGFwcHkgd2l0aCB0aGUgcGF0Y2gKPiAKPiBJIGRvbid0IHRoaW5r
IHRoZXJlIHNob3VsZCBldmVyIGJlIHN1Y2ggYW4gaW1wbGljYXRpb24uIEFmYWljIHRoZXJlCj4g
YXJlIHBhdGNoZXMgSSBjb21tZW50IHVwb24sIGJ1dCB0aGF0IEkgZWl0aGVyIGRvbid0IGZlZWwg
cXVhbGlmaWVkCj4gdG8gZ2l2ZSBhbiBhY2svUi1iIG9uLCBvciB0aGF0IEkgc2ltcGx5IGRvbid0
IHdhbnQgdG8gZm9yIHdoYXRldmVyCj4gcmVhc29uLiBBdCBiZXN0LCBubyBvdGhlciBjb21tZW50
IChhcyBpbiB0aGUgYWJvdmUgZXhhbXBsZSkgbWF5IGJlCj4gdGFrZW4gYXMgIkkgZG9uJ3Qgb2Jq
ZWN0Ii4KCgpJZiB0aGF0IGlzIHRoZSBjYXNlLCB3b3VsZCB0aGVyZSBiZSBhIHJlYXNvbmFibGUg
Y29udmVudGlvbiB0byBtYWtlIHRoaXMgY2xlYXI/IAoKSW4gYSBudXRzaGVsbCwgaW4gc3VjaCBh
IHJldmlldyB0aGUgcG9zc2libGUgaW50ZXJwcmV0YXRpb25zIGFyZQoqIEkgcmV2aWV3ZWQsIGJ1
dCBkaWRuJ3QgZmVlbCBxdWFsaWZpZWQgdG8gZG8gdGhlIHJlc3QKKiBJIHJldmlld2VkLCBidXQg
ZGlkIG5vdCBnZXQgcm91bmQgdG8gZ2l2ZSBpdCBmdWxsIGF0dGVudGlvbgoqIEkgcmV2aWV3ZWQs
IGJ1dCBiZWZvcmUgSSBtYWtlIGEgZmluYWwgZGVjaXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBu
ZXh0IHZlcnNpb24KLi4uCiogSSByZXZpZXdlZCBhbmQgZG9uJ3Qgb2JqZWN0IHRoZSByZXN0Ciog
SSByZXZpZXdlZCBhbmQgYWdyZWVkIHdpdGggdGhlIHJlc3QgClRoZSBsYXR0ZXIgdHdvIGFyZSBl
cXVpdmFsZW50IHRvIEFjay9SLWIKClRoYXQgaXMgcXVpdGUgYSBsYXJnZSByYW5nZSBvZiBwb3Nz
aWJpbGl0aWVzIGFuZCBraW5kIG9mIGxlYXZlcyB0aGUgYXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3Rh
dGUgdGhlIHJldmlldyBpcyBpbgoKUmVnYXJkcwpMYXJzCgoKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 11:09:37 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:09:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ihtgL-0003sY-7X; Thu, 19 Dec 2019 11:09:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=ScRH=2J=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1ihtgK-0003sR-Lh
 for mirageos-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:09:24 +0000
X-Inumbo-ID: e5a761cc-224f-11ea-88e7-bc764e2007e4
Received: from mx2.suse.de (unknown [195.135.220.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e5a761cc-224f-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 11:08:34 +0000 (UTC)
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
Received: from relay2.suse.de (unknown [195.135.220.254])
 by mx2.suse.de (Postfix) with ESMTP id 8B006B15F;
 Thu, 19 Dec 2019 11:08:33 +0000 (UTC)
To: Lars Kurth <lars.kurth.xen@gmail.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
 <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <64e30946-8c36-3728-b894-441c0bf6c970@suse.com>
Date: Thu, 19 Dec 2019 12:09:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
Content-Language: en-US
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

T24gMTkuMTIuMjAxOSAxMTowMywgTGFycyBLdXJ0aCB3cm90ZToKPiAKPiAKPj4gT24gMTkgRGVj
IDIwMTksIGF0IDA5OjU2LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOgo+
Pgo+PiBPbiAxOC4xMi4yMDE5IDE4OjA5LCBMYXJzIEt1cnRoIHdyb3RlOgo+Pj4KPj4+Cj4+PiDv
u79PbiAxOC8xMi8yMDE5LCAxNDoyOSwgIkp1bGllbiBHcmFsbCIgPGp1bGllbkB4ZW4ub3JnPiB3
cm90ZToKPj4+Cj4+PiAgICBIaSBMYXJzLAo+Pj4KPj4+ICAgIE9uIDEyLzEyLzIwMTkgMjE6MTQs
IExhcnMgS3VydGggd3JvdGU6Cj4+Pj4gKyMjIyBXb3JrZmxvdyBmcm9tIGFuIEF1dGhvcidzIFBl
cnNwZWN0aXZlCj4+Pj4gKwo+Pj4+ICtXaGVuIGNvZGUgYXV0aG9ycyByZWNlaXZlIGZlZWRiYWNr
IG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZpcnN0IHRyeQo+Pj4+ICt0byBjbGFy
aWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZvciBzbWFsbGVyIHBhdGNoZXMg
b3IgcGF0Y2ggc2VyaWVzCj4+Pj4gK2l0IG1ha2VzIHNlbnNlIHRvIHdhaXQgdW50aWwgcmVjZWl2
aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVzIGJlZm9yZQo+Pj4+ICtzZW5kaW5nIG91
dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBsYXJnZXIgc2VyaWVz
LCBpdCBtYXkKPj4+PiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5ldyByZXZpc2lvbiBlYXJs
aWVyLgo+Pj4+ICsKPj4+PiArQXMgYSByZXZpZXdlciwgeW91IG5lZWQgc29tZSBzeXN0ZW0gdGhh
dCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKPj4+Cj4+PiAgICBKdXN0IGEgc21h
bGwgdHlwbzogSSB0aGluayB5b3UgbWVhbnQgImhlbHBzIiByYXRoZXIgdGhhbiAiaGU7cHMiLgo+
Pj4KPj4+ICAgIENoZWVycywKPj4+Cj4+PiBUaGFuayB5b3U6IGZpeGVkIGluIG15IHdvcmtpbmcg
Y29weS4KPj4+Cj4+PiBPbmUgdGhpbmcgd2hpY2ggb2NjdXJyZWQgdG8gbWUgZm9yIHJldmlld3Mg
bGlrZSB0aGVzZSwgd2hlcmUgdGhlcmUgaXMgbm8gQUNLJ3Mgb3IgUmV2aWV3ZWQtYnkncyBpcyB0
aGF0IEkgZG9uJ3QgYWN0dWFsbHkga25vdyB3aGV0aGVyIHlvdSBhcyByZXZpZXdlciBpcyBvdGhl
cndpc2UgaGFwcHkgd2l0aCB0aGUgcmVtYWluZGVyIG9mIHRoZSBwYXRjaC4KPj4+IE5vcm1hbGx5
IHRoZSBBQ0tlZC1ieSBvciBSZXZpZXdlZC1ieSBpcyBhIHNpZ25hbCB0aGF0IGl0IGlzCj4+Pgo+
Pj4gSSBhbSBhc3N1bWluZyBpdCBpcywgYnV0IEkgdGhpbmsgaXQgbWF5IGJlIHdvcnRod2hpbGUg
cG9pbnRpbmcgdGhpcyBvdXQgaW4gdGhlIGRvY3VtZW50LCB0aGF0IHVubGVzcyBzdGF0ZWQgb3Ro
ZXJ3aXNlLCB0aGUgcmV2aWV3ZXIgaXMgaGFwcHkgd2l0aCB0aGUgcGF0Y2gKPj4KPj4gSSBkb24n
dCB0aGluayB0aGVyZSBzaG91bGQgZXZlciBiZSBzdWNoIGFuIGltcGxpY2F0aW9uLiBBZmFpYyB0
aGVyZQo+PiBhcmUgcGF0Y2hlcyBJIGNvbW1lbnQgdXBvbiwgYnV0IHRoYXQgSSBlaXRoZXIgZG9u
J3QgZmVlbCBxdWFsaWZpZWQKPj4gdG8gZ2l2ZSBhbiBhY2svUi1iIG9uLCBvciB0aGF0IEkgc2lt
cGx5IGRvbid0IHdhbnQgdG8gZm9yIHdoYXRldmVyCj4+IHJlYXNvbi4gQXQgYmVzdCwgbm8gb3Ro
ZXIgY29tbWVudCAoYXMgaW4gdGhlIGFib3ZlIGV4YW1wbGUpIG1heSBiZQo+PiB0YWtlbiBhcyAi
SSBkb24ndCBvYmplY3QiLgo+IAo+IAo+IElmIHRoYXQgaXMgdGhlIGNhc2UsIHdvdWxkIHRoZXJl
IGJlIGEgcmVhc29uYWJsZSBjb252ZW50aW9uIHRvIG1ha2UgdGhpcyBjbGVhcj8gCj4gCj4gSW4g
YSBudXRzaGVsbCwgaW4gc3VjaCBhIHJldmlldyB0aGUgcG9zc2libGUgaW50ZXJwcmV0YXRpb25z
IGFyZQo+ICogSSByZXZpZXdlZCwgYnV0IGRpZG4ndCBmZWVsIHF1YWxpZmllZCB0byBkbyB0aGUg
cmVzdAo+ICogSSByZXZpZXdlZCwgYnV0IGRpZCBub3QgZ2V0IHJvdW5kIHRvIGdpdmUgaXQgZnVs
bCBhdHRlbnRpb24KPiAqIEkgcmV2aWV3ZWQsIGJ1dCBiZWZvcmUgSSBtYWtlIGEgZmluYWwgZGVj
aXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBuZXh0IHZlcnNpb24KPiAuLi4KPiAqIEkgcmV2aWV3
ZWQgYW5kIGRvbid0IG9iamVjdCB0aGUgcmVzdAo+ICogSSByZXZpZXdlZCBhbmQgYWdyZWVkIHdp
dGggdGhlIHJlc3QgCj4gVGhlIGxhdHRlciB0d28gYXJlIGVxdWl2YWxlbnQgdG8gQWNrL1ItYgo+
IAo+IFRoYXQgaXMgcXVpdGUgYSBsYXJnZSByYW5nZSBvZiBwb3NzaWJpbGl0aWVzIGFuZCBraW5k
IG9mIGxlYXZlcyB0aGUgYXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3RhdGUgdGhlIHJldmlldyBpcyBp
bgoKV2VsbCwgSSB0aG91Z2ggdGhlIGNvbnZlbnRpb24gaXMgdG8gZ2l2ZSBBLWIgLyBSLWIgZXhw
bGljaXRseS4gSW4KYSBmZXcgb3Zlcmx5IGFtYmlndW91cyBjYXNlcyB3ZSB0ZW5kIHRvIHNpbXBs
eSBhc2sgYmFjayB3aGV0aGVyIGEKZ2l2ZW4gcmVwbHkgY2FuIGJlIHRyYW5zZm9ybWVkIGludG8g
YSB0YWcuIEkgZG9uJ3Qgc2VlIGFueSBuZWVkCmZvciBmdXJ0aGVyIGZvcm1hbGl6YXRpb24gaGVy
ZS4KCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJh
Z2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 11:36:22 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:36:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ihu6N-00078x-Af; Thu, 19 Dec 2019 11:36:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4R/5=2J=citrix.com=ian.jackson@srs-us1.protection.inumbo.net>)
 id 1ihu6L-00078e-G8
 for mirageos-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:36:17 +0000
X-Inumbo-ID: c08deb96-2253-11ea-918a-12813bfff9fa
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c08deb96-2253-11ea-918a-12813bfff9fa;
 Thu, 19 Dec 2019 11:36:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576755370;
 h=from:mime-version:content-transfer-encoding:message-id:
 date:to:cc:subject:in-reply-to:references;
 bh=DSnjdcQ6zUvacmAXj7X7bgqjb4A7jKwTfIlZqQmCSV0=;
 b=IkRKBNYnjUU0rIWK2lbYff0JwB4Uypxs8wxK4mpl0LWtCOFD8FIhxmnJ
 PPfomJ8LWmrkMLMe5gj5AUDEEEt5OHFVEn5LloQG05X17zNPpI84MRQOK
 rcZIADVuXykocTuJw19aR5n1Q1jX8k/wJHuoznl25q9EY0PwTB4CXLxLK c=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=ian.jackson@citrix.com;
 spf=Pass smtp.mailfrom=Ian.Jackson@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 ian.jackson@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="ian.jackson@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 Ian.Jackson@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="Ian.Jackson@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: LHCbfNOqcDM4esth/KHQuiGoMYuaXW7w+s7Z94mYK9JFe9cMYESw5vZfsk58+uRxHYnvUfYF1y
 TnpkSWuAok0UhTwsTzC+lcPWNVCxuttxXp0t7wlINavj2NGH8cgLSZ4JzQL0OSvXsjeUXQySDy
 +en7jPrtvARfaz0/wJxIic/Ci0cB6UGQM57uAJ6t38riGjsC87spwhMD/42A3L2qJ3IDrx0OJp
 DKb8F0/5uxzyFwqmZ+NU2K1jO5vHwAtqMqkVGeypYew+1/eRiHpZqPoiizCb/8rQ/tAsTDCs15
 0SY=
X-SBRS: 2.7
X-MesageID: 10293118
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,331,1571716800"; d="scan'208";a="10293118"
From: Ian Jackson <ian.jackson@citrix.com>
MIME-Version: 1.0
Message-ID: <24059.24742.522746.897867@mariner.uk.xensource.com>
Date: Thu, 19 Dec 2019 11:36:06 +0000
To: Lars Kurth <lars.kurth.xen@gmail.com>
In-Reply-To: <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
 <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 'Jan Beulich' <jbeulich@suse.com>, xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

TGFycyBLdXJ0aCB3cml0ZXMgKCJSZTogW1BBVENIIHYzIDUvN10gQWRkIENvZGUgUmV2aWV3IEd1
aWRlIik6Cj4gSW4gYSBudXRzaGVsbCwgaW4gc3VjaCBhIHJldmlldyB0aGUgcG9zc2libGUgaW50
ZXJwcmV0YXRpb25zIGFyZQo+ICogSSByZXZpZXdlZCwgYnV0IGRpZG4ndCBmZWVsIHF1YWxpZmll
ZCB0byBkbyB0aGUgcmVzdAo+ICogSSByZXZpZXdlZCwgYnV0IGRpZCBub3QgZ2V0IHJvdW5kIHRv
IGdpdmUgaXQgZnVsbCBhdHRlbnRpb24KPiAqIEkgcmV2aWV3ZWQsIGJ1dCBiZWZvcmUgSSBtYWtl
IGEgZmluYWwgZGVjaXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBuZXh0IHZlcnNpb24KPiAuLi4K
PiAqIEkgcmV2aWV3ZWQgYW5kIGRvbid0IG9iamVjdCB0aGUgcmVzdAo+ICogSSByZXZpZXdlZCBh
bmQgYWdyZWVkIHdpdGggdGhlIHJlc3QgCj4gVGhlIGxhdHRlciB0d28gYXJlIGVxdWl2YWxlbnQg
dG8gQWNrL1ItYgo+IAo+IFRoYXQgaXMgcXVpdGUgYSBsYXJnZSByYW5nZSBvZiBwb3NzaWJpbGl0
aWVzIGFuZCBraW5kIG9mIGxlYXZlcyB0aGUgYXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3RhdGUgdGhl
IHJldmlldyBpcyBpbgoKVGhlcmUgYXJlIG9ubHkgdGhyZWUgcG9zc2liaWxpdGllczoKCkFja2Vk
LWJ5OgogIEkgaGVyZWJ5IGJsZXNzIHRoaXMgd2l0aCBteSBtYWludGFpbmVyIHBvd2Vycy4KICBJ
IG1heSBvciBtYXkgbm90IGhhdmUgcmV2aWV3ZWQgaXQuICBUaGUgYm9keSB0ZXh0IG1heSBjb250
YWluCiAgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGF0LgoKUmV2aWV3ZWQtYnk6CiAgSSBoYXZl
IHJldmlld2VkIHRoaXMgdG8gbXkgb3duIHNhdGlzZmFjdGlvbiBhbmQgdGhpcyBtYWlsIGNvbnRh
aW5zCiAgYWxsIHRoZSBjb21tZW50cyBJIGhhdmUgb24gaXQuICBJZiBJIGFtIGEgbWFpbnRhaW5l
ciwgSSBoZXJlYnkKICBibGVzcyBpdCB3aXRoIG15IG1haW50YWluZXIgcG93ZXJzLiAgKFRoaXMg
aXMgYSB3ZWlyZCB1c2Ugb2YgdGhlCiAgd29yZCAiUmV2aWV3ZWQiIHNpbmNlIGluIHVzdWFsIHVz
YWdlIG9uZSBjYW4gcmV2aWV3IHNvbWV0aGluZyBhbmQKICBlbmQgdXAgZGlzYXBwcm92aW5nIG9m
IGl0OyBuZXZlcnRoZWxlc3MgdGhpcyBpcyB0aGUgY29udmVudGlvbi4pCgpJbiBib3RoIG9mIHRo
ZSBhYm92ZSBjYXNlcywgYWRkaXRpb25hbGx5CiAgSWYgbXkgYXBwcm92YWwgaXMgY29uZGl0aW9u
YWwgKGVnIG9uIGNoYW5nZXMpIHRoaXMgd2lsbCBiZQogIHN0YXRlZCBleHBsaWNpdGx5IGluIHRo
ZSBib2R5IHRleHQgb2YgbXkgbWVzc2FnZS4KCk5laXRoZXIgb2YgdGhlIGFib3ZlOgogIEkgaGF2
ZSByZWFkIGF0IGxlYXN0IHNvbWUgb2YgdGhpcyBhbmQgZmVsdCBtb3RpdmF0ZWQgdG8gbWFrZSBz
b21lCiAgb2JzZXJ2YXRpb25zLiAgSWYgSSBoYXZlIHJldmlld2VkIGl0IHByb3Blcmx5IHRoaXMg
d291bGQgdXN1YWxseSBiZQogIHN0YXRlZCBpbiB0aGUgYm9keSB0ZXh0LiAgSWYgSSBhbSB0YWtp
bmcgZW5vdWdoIG9mIGFuIGludGVyZXN0IGluCiAgdGhpcyBwYXRjaCwgdGhlIGJvZHkgdGV4dCBt
YXkgYWxzbyBzYXkgd2hhdCBJIHRoaW5rIHRoZSBjdXJyZW50CiAgc3RhdGUgYW5kL29yIG5leHQg
c3RlcHMgc2hvdWxkIGJlLiAgSW4gYW55IGNhc2UsIEkgZG8gKm5vdCogYmxlc3MKICB0aGlzIHBh
dGNoIChpbiBpdHMgY3VycmVudCBmb3JtKSB3aXRoIGFueSBtYWludGFpbmVyIHBvd2VycyBJIG1h
eQogIGhhdmUuCgpJT1c6IGlmIHlvdSBkbyBub3QgZ2V0IGFuIEEtYiBvciBSLWIsIHRoZW4gdGhl
IHBlcnNvbiB3cml0aW5nIGlzIG5vdApuZWNlc3NhcmlseSBtYWtpbmcgYW55IG9mIHRoZSBzdGF0
ZW1lbnRzIHlvdSBwb3NpdCB3aGljaCBzdGFydCAiSQpyZXZpZXdlZCIuCgpIYXZpbmcgc2FpZCB0
aGF0IGl0IGlzIGEgZ29vZCBpZGVhIGZvciBwZW9wbGUgY29tbWVudGluZyBvbiBwYXRjaGVzIHRv
Cm1ha2UgY2xlYXIgd2hhdCB0aGV5IGhhdmUgYW5kIGhhdmVuJ3QgZG9uZS4gIEkgb2Z0ZW4gc3Rh
cnQgYSBtZXNzYWdlCndpdGggIlRoYW5rcyBmb3IgdGhpcyBwYXRjaCB3aGljaCBJIGhhdmUgcmV2
aWV3ZWQuICBJIGhhdmUgc29tZQpjb21tZW50cyIgb3Igd29yZHMgdG8gdGhhdCBlZmZlY3QuCgpJ
YW4uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJh
Z2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9z
LWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 11:42:41 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:42:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ihuCV-0008Ay-S0; Thu, 19 Dec 2019 11:42:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4R/5=2J=citrix.com=ian.jackson@srs-us1.protection.inumbo.net>)
 id 1ihuCU-0008Ak-Ox
 for mirageos-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:42:38 +0000
X-Inumbo-ID: 867aeba6-2254-11ea-a1e1-bc764e2007e4
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 867aeba6-2254-11ea-a1e1-bc764e2007e4;
 Thu, 19 Dec 2019 11:41:42 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576755702;
 h=from:mime-version:content-transfer-encoding:message-id:
 date:to:subject:in-reply-to:references;
 bh=Cjn28Mgs1N0gowDZI20eaWndP+VyDrHbuolRXiF46ns=;
 b=fVp6vbxMk7PJfcQnlUVGBLejV51xYl8806drqzw6ktUHVoPCnvJnG/qF
 EZkVzwT6VGjZkyECPTmObytge1aZ+mC4NbHLlDe1QIE3U5YA9lAI5LKXi
 uSelc95BEBBLKXKLYFrZh4bspvenBwp89JcgTIswQ35HUI2eT/KvMuARR 0=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=ian.jackson@citrix.com;
 spf=Pass smtp.mailfrom=Ian.Jackson@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 ian.jackson@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="ian.jackson@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 Ian.Jackson@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="Ian.Jackson@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: lwhPsAwq6agBcqqL3r1ChzKxsDpKcr126xOksr+SxrM8wNRSji1gx1a/pmp96PcrvrxB8HhbMK
 //unJAO2X6KBlDmeUhSdS9AMaTY0+BF/3kuJ8jeuWM9dkdyuQGTKg48IGQiyG9BAqfHJMrIPuI
 EofiJiIBCEGTjqxIFtxcf8DJJeEpjA9fmmfJot8gxf1n6MhzPD3Y/54/bjoKVb6SsFvT/U8KV2
 KmZu/CaWgbMMjVCiKXUw1GLXuTu6G195ELp4xaNH7dYE4h1e3C9en1c7JgR5Xy+0f84bpkmY87
 8+M=
X-SBRS: 2.7
X-MesageID: 10293272
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,331,1571716800"; d="scan'208";a="10293272"
From: Ian Jackson <ian.jackson@citrix.com>
MIME-Version: 1.0
Message-ID: <24059.25073.789608.209860@mariner.uk.xensource.com>
Date: Thu, 19 Dec 2019 11:41:37 +0000
To: Lars Kurth <lars.kurth.xen@gmail.com>, 'Jan Beulich' <jbeulich@suse.com>, 
 Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel
 <xen-devel@lists.xenproject.org>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, "xen-api@lists.xenproject.org"
 <xen-api@lists.xenproject.org>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>, "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>, "committers@xenproject.org"
 <committers@xenproject.org>
In-Reply-To: <24059.24742.522746.897867@mariner.uk.xensource.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
 <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
 <24059.24742.522746.897867@mariner.uk.xensource.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

SWFuIEphY2tzb24gd3JpdGVzICgiUmU6IFtQQVRDSCB2MyA1LzddIEFkZCBDb2RlIFJldmlldyBH
dWlkZSIpOgo+IExhcnMgS3VydGggd3JpdGVzICgiUmU6IFtQQVRDSCB2MyA1LzddIEFkZCBDb2Rl
IFJldmlldyBHdWlkZSIpOgo+ID4gSW4gYSBudXRzaGVsbCwgaW4gc3VjaCBhIHJldmlldyB0aGUg
cG9zc2libGUgaW50ZXJwcmV0YXRpb25zIGFyZQo+ID4gKiBJIHJldmlld2VkLCBidXQgZGlkbid0
IGZlZWwgcXVhbGlmaWVkIHRvIGRvIHRoZSByZXN0Cj4gPiAqIEkgcmV2aWV3ZWQsIGJ1dCBkaWQg
bm90IGdldCByb3VuZCB0byBnaXZlIGl0IGZ1bGwgYXR0ZW50aW9uCj4gPiAqIEkgcmV2aWV3ZWQs
IGJ1dCBiZWZvcmUgSSBtYWtlIGEgZmluYWwgZGVjaXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBu
ZXh0IHZlcnNpb24KPiA+IC4uLgo+ID4gKiBJIHJldmlld2VkIGFuZCBkb24ndCBvYmplY3QgdGhl
IHJlc3QKPiA+ICogSSByZXZpZXdlZCBhbmQgYWdyZWVkIHdpdGggdGhlIHJlc3QgCj4gPiBUaGUg
bGF0dGVyIHR3byBhcmUgZXF1aXZhbGVudCB0byBBY2svUi1iCj4gPiAKPiA+IFRoYXQgaXMgcXVp
dGUgYSBsYXJnZSByYW5nZSBvZiBwb3NzaWJpbGl0aWVzIGFuZCBraW5kIG9mIGxlYXZlcyB0aGUg
YXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3RhdGUgdGhlIHJldmlldyBpcyBpbgouLi4KPiBJT1c6IGlm
IHlvdSBkbyBub3QgZ2V0IGFuIEEtYiBvciBSLWIsIHRoZW4gdGhlIHBlcnNvbiB3cml0aW5nIGlz
IG5vdAo+IG5lY2Vzc2FyaWx5IG1ha2luZyBhbnkgb2YgdGhlIHN0YXRlbWVudHMgeW91IHBvc2l0
IHdoaWNoIHN0YXJ0ICJJCj4gcmV2aWV3ZWQiLgoKVGhlIG90aGVyIHBvaW50IGl0IG9jY3VycyB0
byBtZSB0byBtYWtlIGhlcmUgaXMgdGhhdCB3aGV0aGVyIHNvbWVvbmUKcmV2aWV3ZWQgc29tZXRo
aW5nIGlzIG5vdCBvZiBmb3JtYWwgaW1wb3J0YW5jZSB0byB0aGUgcHJvY2VzcywKYWx0aG91Z2gg
aXQgaXMgb2YgY291cnNlIHZlcnkgcmVsZXZhbnQgaW5mb3JtYXRpb24uCgpXaXRoIG15IG1haW50
YWluZXIgaGF0IG9uIEkgZnJlcXVlbnRseSBhcHByb3ZlIHBhdGNoZXMgd2hpY2ggSSBoYXZlCm5v
dCByZXZpZXdlZC4KCkxpa2V3aXNlIEkgc29tZXRpbWVzIHJlYWQgYW5kIGV2ZW4gcmV2aWV3IGlu
IGRldGFpbCBwYXRjaGVzIHdoZXJlIEkKaGF2ZSBubyBmb3JtYWwgYXV0aG9yaXR5LiAgTXkgY29t
bWVudHMgYXJlIHRoZW4gaW50ZW5kZWQgKGluIGEgZm9ybWFsCnNlbnNlKSBhcyBpbnB1dCB0byB0
aGUgbWFpbnRhaW5lcnMnIGRlY2lzaW9ubWFraW5nLgoKKEluIHByYWN0aWNlLCBzaW5jZSB3ZSBh
cmUgYWxsIHdvcmtpbmcgdG9nZXRoZXIgdG8gbWFrZSB0aGUgYmVzdApzb2Z0d2FyZSwgbWFpbnRh
aW5lcnMgZ2VuZXJhbGx5IGV4cGVjdCBhIHN1Ym1pdHRlciB0byBhZGRyZXNzIGlzc3VlcwpyYWlz
ZWQgYnkgYSByZXZpZXcgZnJvbSBhIG5vbi1tYWludGFpbmVyLCBhbmQgc3Ryb25nIG9iamVjdGlv
bnMgZnJvbQpub24tbWFpbnRhaW5lciBzdGFrZWhvbGRlcnMgdXN1YWxseSBsZWFkIHRvIGEgZGlz
Y3Vzc2lvbiBhYm91dCBob3cgdG8KcmVzb2x2ZSBtYXR0ZXJzLiAgVGhpcyBpcyBhbGwgY29vcGVy
YXRpb24gYW5kIGNvbW1vbiBjb3VydGVzeSBJCnRoaW5rLikKCklhbi4KCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pcmFnZU9TLWRldmVsIG1haWxpbmcg
bGlzdApNaXJhZ2VPUy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3MtZGV2ZWwK

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 18:49:58 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 18:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ii0ro-0004Rj-S8; Thu, 19 Dec 2019 18:49:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihxKU-0000wR-5Z
 for mirageos-devel@lists.xenproject.org; Thu, 19 Dec 2019 15:03:06 +0000
X-Inumbo-ID: a75db883-2270-11ea-91ee-12813bfff9fa
Received: from mail-ed1-f67.google.com (unknown [209.85.208.67])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a75db883-2270-11ea-91ee-12813bfff9fa;
 Thu, 19 Dec 2019 15:03:03 +0000 (UTC)
Received: by mail-ed1-f67.google.com with SMTP id j17so5176391edp.3;
 Thu, 19 Dec 2019 07:03:03 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=eHI0iwd13nlsti/7aC4qVHyc9ywZTHzaPT5YWWOEWiw=;
 b=aaL89OBl/RxiE5kj3Q3xlK7zUxRLfbGQTd5v7R7qAD4PXkyB6+/LLZ9ugog7NTL/EQ
 HdmEjUeS7uQKe+cx8vPiKaev5P7ZT5JxYWJovda1QpDiaNMTaizsmmh10CUOYx+hXG+x
 URTR2ULDpAXdIoeq3jHHVeR/I4GbszP8mThXZ9dkoGNRyL+Bf5sjXiB/OfOU2HmDMybg
 fBl9HlrFeVE1qBSOWr0A03XbtoP/2YRMA2149+TUCHttdCRuU9ncNsyI8NSJ3upm4eaA
 Kr9ZDeqpD6cByi0ILlO4rkQuoHjfn1GFXKHYkkvj08+U+hNFTfSW/ntOnrMxo4Aw3QKi
 BdJA==
X-Gm-Message-State: APjAAAUonT22MVKnZYCRv409KbAAT75Z6ITjO94hzdOLTPxVRPKYtUdt
 s0me2jHxM8usmxydp6BLtn4=
X-Google-Smtp-Source: APXvYqwMtHY75VyMtanjrQ+I0UxHMSHfybK+EujzkSzdSEJY/wXsNLV5bj9xXRvplD4WCDMIsT5PUQ==
X-Received: by 2002:a50:9f65:: with SMTP id b92mr9611433edf.275.1576767782851; 
 Thu, 19 Dec 2019 07:03:02 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id m23sm521971ejd.21.2019.12.19.07.03.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 07:03:02 -0800 (PST)
To: Lars Kurth <lars.kurth@citrix.com>, Lars Kurth <lars.kurth@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e7d096c0-74b7-3427-8853-3273e46d0274@xen.org>
Date: Thu, 19 Dec 2019 15:03:00 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
Content-Language: en-GB
X-Mailman-Approved-At: Thu, 19 Dec 2019 18:49:43 +0000
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

SGkgTGFycywKCk9uIDE4LzEyLzIwMTkgMTc6MDksIExhcnMgS3VydGggd3JvdGU6Cj4gCj4gCj4g
77u/T24gMTgvMTIvMjAxOSwgMTQ6MjksICJKdWxpZW4gR3JhbGwiIDxqdWxpZW5AeGVuLm9yZz4g
d3JvdGU6Cj4gCj4gICAgICBIaSBMYXJzLAo+ICAgICAgCj4gICAgICBPbiAxMi8xMi8yMDE5IDIx
OjE0LCBMYXJzIEt1cnRoIHdyb3RlOgo+ICAgICAgPiArIyMjIFdvcmtmbG93IGZyb20gYW4gQXV0
aG9yJ3MgUGVyc3BlY3RpdmUKPiAgICAgID4gKwo+ICAgICAgPiArV2hlbiBjb2RlIGF1dGhvcnMg
cmVjZWl2ZSBmZWVkYmFjayBvbiB0aGVpciBwYXRjaGVzLCB0aGV5IHR5cGljYWxseSBmaXJzdCB0
cnkKPiAgICAgID4gK3RvIGNsYXJpZnkgZmVlZGJhY2sgdGhleSBkbyBub3QgdW5kZXJzdGFuZC4g
Rm9yIHNtYWxsZXIgcGF0Y2hlcyBvciBwYXRjaCBzZXJpZXMKPiAgICAgID4gK2l0IG1ha2VzIHNl
bnNlIHRvIHdhaXQgdW50aWwgcmVjZWl2aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVz
IGJlZm9yZQo+ICAgICAgPiArc2VuZGluZyBvdXQgYSBuZXcgdmVyc2lvbiBhZGRyZXNzaW5nIHRo
ZSBjaGFuZ2VzLiBGb3IgbGFyZ2VyIHNlcmllcywgaXQgbWF5Cj4gICAgICA+ICttYWtlIHNlbnNl
IHRvIHNlbmQgb3V0IGEgbmV3IHJldmlzaW9uIGVhcmxpZXIuCj4gICAgICA+ICsKPiAgICAgID4g
K0FzIGEgcmV2aWV3ZXIsIHlvdSBuZWVkIHNvbWUgc3lzdGVtIHRoYXQgaGU7cHMgZW5zdXJlIHRo
YXQgeW91IGFkZHJlc3MgYWxsCj4gICAgICAKPiAgICAgIEp1c3QgYSBzbWFsbCB0eXBvOiBJIHRo
aW5rIHlvdSBtZWFudCAiaGVscHMiIHJhdGhlciB0aGFuICJoZTtwcyIuCj4gICAgICAKPiAgICAg
IENoZWVycywKPiAgICAgIAo+IFRoYW5rIHlvdTogZml4ZWQgaW4gbXkgd29ya2luZyBjb3B5Lgo+
IAo+IE9uZSB0aGluZyB3aGljaCBvY2N1cnJlZCB0byBtZSBmb3IgcmV2aWV3cyBsaWtlIHRoZXNl
LCB3aGVyZSB0aGVyZSBpcyBubyBBQ0sncyBvciBSZXZpZXdlZC1ieSdzIGlzIHRoYXQgSSBkb24n
dCBhY3R1YWxseSBrbm93IHdoZXRoZXIgeW91IGFzIHJldmlld2VyIGlzIG90aGVyd2lzZSBoYXBw
eSB3aXRoIHRoZSByZW1haW5kZXIgb2YgcGF0Y2guCj4gTm9ybWFsbHkgdGhlIEFDS2VkLWJ5IG9y
IFJldmlld2VkLWJ5IGlzIGEgc2lnbmFsIHRoYXQgaXQgaXMKPiAgPiBJIGFtIGFzc3VtaW5nIGl0
IGlzLCBidXQgSSB0aGluayBpdCBtYXkgYmUgd29ydGh3aGlsZSBwb2ludGluZyB0aGlzIApvdXQg
aW4gdGhlIGRvY3VtZW50LCB0aGF0IHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNlLCB0aGUgcmV2aWV3
ZXIgaXMgaGFwcHkgCndpdGggdGhlIHBhdGNoCkkgZG9uJ3QgdGhpbmsgeW91IGNhbiBhbHdheXMg
YXNzdW1lIHRoaXMuIFRoZXJlIGFyZSBjYXNlIHdoZXJlIEkgZG9uJ3QgCmdpdmUgYSByZXZpZXdl
ZC1ieSB5ZXQgYmVjYXVzZSBJIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZm9sbG93LXVwIApwYXRj
aGVzIGZpcnN0LgoKSSB0aGluayB3aGF0IElhbiBkZXNjcmliZWQgY29ycmVzcG9uZCB0aGUgYmVz
dCB0byBteSB2aWV3IGhlcmUuIEFuZCBJIAphZ3JlZSB0aGF0IHdlIHByb2JhYmx5IHdhbnQgdG8g
YmUgbW9yZSBleHBsaWNpdCBpbiB0aGUgcmV2aWV3IHRvIGF2b2lkIApjb25mdXNpb24uCgpDaGVl
cnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Thu Dec 19 18:49:58 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 18:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ii0ro-0004Re-PV; Thu, 19 Dec 2019 18:49:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=kHBV=2I=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihaLQ-0003E0-NT
 for mirageos-devel@lists.xenproject.org; Wed, 18 Dec 2019 14:30:32 +0000
X-Inumbo-ID: da617f1c-21a2-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-f68.google.com (unknown [209.85.128.68])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id da617f1c-21a2-11ea-b6f1-bc764e2007e4;
 Wed, 18 Dec 2019 14:29:52 +0000 (UTC)
Received: by mail-wm1-f68.google.com with SMTP id f129so2128174wmf.2;
 Wed, 18 Dec 2019 06:29:52 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=H8dyGOXFKXvU66oYm8mY8a7mqX05VWpF461QSbX+/X0=;
 b=Yj5pocjdJz3FvNlCExa0f4Z4b29LNjFKIwqK8DgE7d+lJFl+5Q4+hTQw5TG39v/mBH
 sGpYajMav/8ctWOnQpIycGp7u+HDulRlQsZK0btXNSQP6p5m8n2PIg3uZrETWrrYn4Aj
 sFZF33EO17qEvv8C/HcdhSnQEbwd/s+LKAAC02u5IDydJvzRQQN6K0TTLGLND/jZZnsa
 XJ7Q6qBHQf11lZbquJlnbOez338bsG0Gt9Z/ux41LyYJkXZfogAyYLO7ttjOEjkKXB4H
 h4KH9GCM2td4XvVHJwfPLTurO51sQMx02Ja14pTi6OyrzH8g383FjpzusnmMmQEwiO6d
 yiMg==
X-Gm-Message-State: APjAAAV24IK2fnRwDdVdWWMlelinOheynqavOkeYsFc/oTI2aezFavvB
 7MuBUBXWBORPU/U/3flAzJM=
X-Google-Smtp-Source: APXvYqyJVMU2riP/VsS3Mwu9JDJ4kE5gytUSBbyKtdXki0Sgju2KNHRE7makk7yAmJPFrHvymZ7CUg==
X-Received: by 2002:a7b:c407:: with SMTP id k7mr3741503wmi.46.1576679391742;
 Wed, 18 Dec 2019 06:29:51 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-234.amazon.com.
 [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id x11sm2618981wmg.46.2019.12.18.06.29.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 18 Dec 2019 06:29:51 -0800 (PST)
To: Lars Kurth <lars.kurth@xenproject.org>, xen-devel@lists.xenproject.org
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
Date: Wed, 18 Dec 2019 14:29:50 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
Content-Language: en-GB
X-Mailman-Approved-At: Thu, 19 Dec 2019 18:49:43 +0000
Subject: Re: [MirageOS-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

SGkgTGFycywKCk9uIDEyLzEyLzIwMTkgMjE6MTQsIExhcnMgS3VydGggd3JvdGU6Cj4gKyMjIyBX
b3JrZmxvdyBmcm9tIGFuIEF1dGhvcidzIFBlcnNwZWN0aXZlCj4gKwo+ICtXaGVuIGNvZGUgYXV0
aG9ycyByZWNlaXZlIGZlZWRiYWNrIG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZp
cnN0IHRyeQo+ICt0byBjbGFyaWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZv
ciBzbWFsbGVyIHBhdGNoZXMgb3IgcGF0Y2ggc2VyaWVzCj4gK2l0IG1ha2VzIHNlbnNlIHRvIHdh
aXQgdW50aWwgcmVjZWl2aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVzIGJlZm9yZQo+
ICtzZW5kaW5nIG91dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBs
YXJnZXIgc2VyaWVzLCBpdCBtYXkKPiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5ldyByZXZp
c2lvbiBlYXJsaWVyLgo+ICsKPiArQXMgYSByZXZpZXdlciwgeW91IG5lZWQgc29tZSBzeXN0ZW0g
dGhhdCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKCkp1c3QgYSBzbWFsbCB0eXBv
OiBJIHRoaW5rIHlvdSBtZWFudCAiaGVscHMiIHJhdGhlciB0aGFuICJoZTtwcyIuCgpDaGVlcnMs
CgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaXJhZ2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pcmFnZW9zLWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:32:58 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0mP-0003hv-WC; Mon, 30 Dec 2019 19:32:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0mO-0003hp-Q8
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:32:40 +0000
X-Inumbo-ID: 1fa7295e-2b3b-11ea-a060-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1fa7295e-2b3b-11ea-a060-12813bfff9fa;
 Mon, 30 Dec 2019 19:32:32 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mC-0003Th-KP; Mon, 30 Dec 2019 19:32:28 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mC-0007YU-8D; Mon, 30 Dec 2019 19:32:28 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:15 +0000
Message-Id: <6ec278b81c16cd6279312190f2ce42af75aed93e.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 3/7] Reformat Xen Project CoC to fit
 into 80 character limit
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKTm8gY29udGVudCBjaGFu
Z2VzCgpTaWduZWQtb2ZmLWJ5OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+Ci0t
LQpDYzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3Rz
LnhlbnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IG1pcmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnBy
b2plY3Qub3JnCi0tLQogY29kZS1vZi1jb25kdWN0Lm1kIHwgNjIgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzMg
aW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29kZS1vZi1jb25k
dWN0Lm1kIGIvY29kZS1vZi1jb25kdWN0Lm1kCmluZGV4IGVlNzUxYTcuLjdjMjlhNGYgMTAwNjQ0
Ci0tLSBhL2NvZGUtb2YtY29uZHVjdC5tZAorKysgYi9jb2RlLW9mLWNvbmR1Y3QubWQKQEAgLTUs
MTYgKzUsMTYgQEAKIEluIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBhbmQgd2Vs
Y29taW5nIGVudmlyb25tZW50LCB3ZSBhcwogY29udHJpYnV0b3JzIGFuZCBtYWludGFpbmVycyBw
bGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAogb3VyIGNvbW11
bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVnYXJkbGVz
cyBvZiBhZ2UsIGJvZHkKLXNpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNoYXJhY3Rl
cmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAotbGV2ZWwgb2YgZXhwZXJp
ZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5LCBwZXJz
b25hbAotYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0eSBhbmQg
b3JpZW50YXRpb24uCitzaXplLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHNleCBjaGFyYWN0ZXJp
c3RpY3MsIGdlbmRlciBpZGVudGl0eSBhbmQKK2V4cHJlc3Npb24sIGxldmVsIG9mIGV4cGVyaWVu
Y2UsIGVkdWNhdGlvbiwgc29jaW8tZWNvbm9taWMgc3RhdHVzLCBuYXRpb25hbGl0eSwKK3BlcnNv
bmFsIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1YWwgaWRlbnRpdHkgYW5kIG9y
aWVudGF0aW9uLgogCiAjIyBPdXIgU3RhbmRhcmRzCiAKIFdlIGJlbGlldmUgdGhhdCBhIENvZGUg
b2YgQ29uZHVjdCBjYW4gaGVscCBjcmVhdGUgYSBoYXJhc3NtZW50LWZyZWUgZW52aXJvbm1lbnQs
CiBidXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gY3JlYXRlIGEgd2VsY29taW5nIGVudmlyb25tZW50
IG9uIGl0cyBvd246IGd1aWRhbmNlIG9uCi1jcmVhdGluZyBhIHdlbGNvbWluZyBlbnZpcm9ubWVu
dCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBhbmQgZnJpZW5kbHkKLXdheSwg
ZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdOiBUT0RPLUlOU0VSVC1VUkwuCitjcmVhdGluZyBhIHdl
bGNvbWluZyBlbnZpcm9ubWVudCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBh
bmQKK2ZyaWVuZGx5IHdheSwgZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdW2d1aWRhbmNlXS4KIAog
RXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRl
OgogCkBAIC0yOSw0MSArMjksNDMgQEAgRXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9y
IGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRlOgogCiAjIyBPdXIgUmVzcG9uc2liaWxpdGllcwogCi1Q
cm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlm
eWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKLWJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0
ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZlIGFjdGlvbiBpbgotcmVz
cG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVoYXZpb3IuCitQcm9qZWN0
IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0
aGUgc3RhbmRhcmRzIG9mCithY2NlcHRhYmxlIGJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8g
dGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZlCithY3Rpb24gaW4gcmVzcG9uc2Ug
dG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVoYXZpb3IuCiAKLVByb2plY3QgbGVh
ZGVyc2hpcCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRv
IHJlbW92ZSwgZWRpdCwgb3IKLXJlamVjdCBjb21tZW50cywgY29tbWl0cywgY29kZSwgd2lraSBl
ZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwotdGhhdCBhcmUgbm90IGFsaWdu
ZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3JhcmlseSBvcgotcGVy
bWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhhdCB0aGV5IGRl
ZW0gaW5hcHByb3ByaWF0ZSwKLXRocmVhdGVuaW5nLCBvZmZlbnNpdmUsIG9yIGhhcm1mdWwuCitQ
cm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGhhdmUgdGhlIHJpZ2h0IGFuZCByZXNwb25z
aWJpbGl0eSB0byByZW1vdmUsCitlZGl0LCBvciByZWplY3QgY29tbWVudHMsIGNvbW1pdHMsIGNv
ZGUsIHdpa2kgZWRpdHMsIGlzc3VlcywgYW5kIG90aGVyCitjb250cmlidXRpb25zIHRoYXQgYXJl
IG5vdCBhbGlnbmVkIHRvIHRoaXMgQ29kZSBvZiBDb25kdWN0LCBvciB0byBiYW4KK3RlbXBvcmFy
aWx5IG9yIHBlcm1hbmVudGx5IGFueSBjb250cmlidXRvciBmb3Igb3RoZXIgYmVoYXZpb3JzIHRo
YXQgdGhleSBkZWVtCitpbmFwcHJvcHJpYXRlLCB0aHJlYXRlbmluZywgb2ZmZW5zaXZlLCBvciBo
YXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdpdGhp
biBhbGwgcHJvamVjdCBzcGFjZXMgb2YgYWxsIHN1Yi1wcm9qZWN0cywgYW5kIGl0IGFsc28gYXBw
bGllcyB3aGVuCi1hbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBp
dHMgY29tbXVuaXR5IGluIHB1YmxpYyBzcGFjZXMuCi1FeGFtcGxlcyBvZiByZXByZXNlbnRpbmcg
YSBwcm9qZWN0IG9yIGNvbW11bml0eSBpbmNsdWRlIHVzaW5nIGFuIG9mZmljaWFsCi1wcm9qZWN0
IGUtbWFpbCBhZGRyZXNzLCBwb3N0aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwgbWVkaWEgYWNj
b3VudCwgb3IgYWN0aW5nCi1hcyBhbiBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25s
aW5lIG9yIG9mZmxpbmUgZXZlbnQuIFJlcHJlc2VudGF0aW9uIG9mCi1hIHByb2plY3QgbWF5IGJl
IGZ1cnRoZXIgZGVmaW5lZCBhbmQgY2xhcmlmaWVkIGJ5IHRoZSBwcm9qZWN0IGxlYWRlcnNoaXAu
CitUaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdpdGhpbiBhbGwgcHJvamVjdCBzcGFjZXMg
b2YgYWxsIHN1Yi1wcm9qZWN0cywKK2FuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbiBhbiBpbmRpdmlk
dWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBpdHMKK2NvbW11bml0eSBpbiBwdWJs
aWMgc3BhY2VzLiBFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0
eQoraW5jbHVkZSB1c2luZyBhbiBvZmZpY2lhbCBwcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0
aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwKK21lZGlhIGFjY291bnQsIG9yIGFjdGluZyBhcyBh
biBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUKK2V2ZW50
LiBSZXByZXNlbnRhdGlvbiBvZiBhIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQg
Y2xhcmlmaWVkIGJ5IHRoZQorcHJvamVjdCBsZWFkZXJzaGlwLgogCiAjIyBXaGF0IHRvIGRvIGlm
IHlvdSB3aXRuZXNzIG9yIGFyZSBzdWJqZWN0IHRvIHVuYWNjZXB0YWJsZSBiZWhhdmlvcgogCiBJ
bnN0YW5jZXMgb2YgYWJ1c2l2ZSwgaGFyYXNzaW5nLCBvciBvdGhlcndpc2UgdW5hY2NlcHRhYmxl
IGJlaGF2aW9yIG1heSBiZQogcmVwb3J0ZWQgYnkgY29udGFjdGluZyBDb25kdWN0IFRlYW0gbWVt
YmVycyBhdCBjb25kdWN0QHhlbnByb2plY3Qub3JnLiBBbGwKIGNvbXBsYWludHMgd2lsbCBiZSBy
ZXZpZXdlZCBhbmQgaW52ZXN0aWdhdGVkIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHJlc3BvbnNlIHRo
YXQKLWlzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJpYXRlIHRvIHRoZSBjaXJjdW1zdGFu
Y2VzLiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUKLW9ibGlnYXRlZCB0byBtYWludGFpbiBjb25m
aWRlbnRpYWxpdHkgd2l0aCByZWdhcmQgdG8gdGhlIHJlcG9ydGVyIG9mIGFuIGluY2lkZW50Lgot
RnVydGhlciBkZXRhaWxzIG9mIHNwZWNpZmljIGVuZm9yY2VtZW50IHBvbGljaWVzIG1heSBiZSBw
b3N0ZWQgc2VwYXJhdGVseS4KK2lzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJpYXRlIHRv
IHRoZSBjaXJjdW1zdGFuY2VzLiBDb25kdWN0IFRlYW0gbWVtYmVycworYXJlIG9ibGlnYXRlZCB0
byBtYWludGFpbiBjb25maWRlbnRpYWxpdHkgd2l0aCByZWdhcmQgdG8gdGhlIHJlcG9ydGVyIG9m
IGFuCitpbmNpZGVudC4gRnVydGhlciBkZXRhaWxzIG9mIHNwZWNpZmljIGVuZm9yY2VtZW50IHBv
bGljaWVzIG1heSBiZSBwb3N0ZWQKK3NlcGFyYXRlbHkuCiAKIElmIHlvdSBoYXZlIGNvbmNlcm5z
IGFib3V0IGFueSBvZiB0aGUgbWVtYmVycyBvZiB0aGUgY29uZHVjdEAgYWxpYXMsCiB5b3UgYXJl
IHdlbGNvbWUgdG8gY29udGFjdCBwcmVjaXNlbHkgdGhlIENvbmR1Y3QgVGVhbSBtZW1iZXIocykg
b2YKIHlvdXIgY2hvaWNlLgogCi1Qcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHdobyBk
byBub3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCi1mYWl0
aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJt
aW5lZCBieSBvdGhlcgotbWVtYmVycyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCitQcm9q
ZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9yY2Ug
dGhlIENvZGUgb2YgQ29uZHVjdAoraW4gZ29vZCBmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3Ig
cGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieQorb3RoZXIgbWVtYmVycyBv
ZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCiAKICMjIENvbmR1Y3QgVGVhbSBtZW1iZXJzCiBD
b25kdWN0IFRlYW0gbWVtYmVycyBhcmUgcHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyBm
cm9tIGFueQpAQCAtNzMsMTUgKzc1LDE3IEBAIHN1Yi1wcm9qZWN0LiBUaGUgY3VycmVudCBsaXN0
IG9mIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGlzOgogKiBJYW4gSmFja3NvbiA8aWFuIGRvdCBqYWNr
c29uIGF0IGNpdHJpeCBkb3QgY29tPgogCiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUgY2hhbmdl
ZCBieSBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhpcyBkb2N1bWVudCwKLXBvc3RlZCBvbiBhbGwg
c3ViLXByb2plY3QgbGlzdHMsIGZvbGxvd2VkIGJ5IGEgZm9ybWFsIGdsb2JhbCB2b3RlIGFzIG91
dGxpbmVkIFtoZXJlXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFu
Y2UvI3Byb2plY3QtZGVjaXNpb25zCitwb3N0ZWQgb24gYWxsIHN1Yi1wcm9qZWN0IGxpc3RzLCBm
b2xsb3dlZCBieSBhIGZvcm1hbCBnbG9iYWwgdm90ZSBhcyBvdXRsaW5lZAorW2hlcmVdOiBodHRw
czovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jcHJvamVjdC1kZWNpc2lv
bnMKIAogIyMgQXR0cmlidXRpb24KIAotVGhpcyBDb2RlIG9mIENvbmR1Y3QgaXMgYWRhcHRlZCBm
cm9tIHRoZSBbQ29udHJpYnV0b3IgQ292ZW5hbnRdW2hvbWVwYWdlXSwgdmVyc2lvbiAxLjQsCi1h
dmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNpb24v
MS80L2NvZGUtb2YtY29uZHVjdC5odG1sCitUaGlzIENvZGUgb2YgQ29uZHVjdCBpcyBhZGFwdGVk
IGZyb20gdGhlIFtDb250cmlidXRvciBDb3ZlbmFudF1baG9tZXBhZ2VdLAordmVyc2lvbiAxLjQs
IGF2YWlsYWJsZSBhdAoraHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNp
b24vMS80L2NvZGUtb2YtY29uZHVjdC5odG1sCiAKIFtob21lcGFnZV06IGh0dHBzOi8vd3d3LmNv
bnRyaWJ1dG9yLWNvdmVuYW50Lm9yZworW2d1aWRhbmNlXTogVE9ETy1JTlNFUlQtVVJMCiAKIEZv
ciBhbnN3ZXJzIHRvIGNvbW1vbiBxdWVzdGlvbnMgYWJvdXQgdGhpcyBjb2RlIG9mIGNvbmR1Y3Qs
IHNlZQogaHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL2ZhcQotCi0tIAoyLjEz
LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJh
Z2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9z
LWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:12 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0mu-0003ny-2Y; Mon, 30 Dec 2019 19:33:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0ms-0003nV-RB
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:10 +0000
X-Inumbo-ID: 20b657fd-2b3b-11ea-a060-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 20b657fd-2b3b-11ea-a060-12813bfff9fa;
 Mon, 30 Dec 2019 19:32:35 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mG-0003UI-P3; Mon, 30 Dec 2019 19:32:32 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mG-0007YU-KS; Mon, 30 Dec 2019 19:32:32 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:19 +0000
Message-Id: <1bf177593fcea64b0386a13cdabae24fb0d3cb96.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 7/7] Added Resolving Disagreement
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBndWlkZSBwcm92
aWRlcyBCZXN0IFByYWN0aWNlIG9uIGlkZW50aWZ5aW5nIGFuZCByZXNvbHZpbmcKY29tbW9uIGNs
YXNzZXMgb2YgZGlzYWdyZWVtZW50CgpDaGFuZ2VzIHNpbmNlIHYzCiogRml4ZWQgYnJva2VuIGh0
dHAgbGluayAodHlwbykKCkNoYW5nZXMgc2luY2UgdjIgKGFkZGVkIGluIHYyKQoqIEZpeCB0eXBv
cwoqIEFkZCBzZWN0aW9uOiAiSXNzdWU6IE11bHRpcGxlIHdheXMgdG8gc29sdmUgYSBwcm9ibGVt
IgoqIENoYW5nZWQgbGluZSB3cmFwcGluZyB0byA4MCBjaGFyYWN0ZXJzCiogUmVwbGFjZWQgaW5s
aW5lIHN0eWxlIGxpbmtzIHdpdGggcmVmZXJlbmNlIHN0eWxlIGxpbmtzCgpTaWduZWQtb2ZmLWJ5
OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+Ci0tCkNjOiBtaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IHhlbi1hcGlAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogbWlyYWdlb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKQ2M6IGNvbW1pdHRlcnNAeGVucHJvamVjdC5vcmcKLS0tCiByZXNv
bHZpbmctZGlzYWdyZWVtZW50Lm1kIHwgMTg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygrKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IHJlc29sdmluZy1kaXNhZ3JlZW1lbnQubWQKCmRpZmYgLS1naXQgYS9y
ZXNvbHZpbmctZGlzYWdyZWVtZW50Lm1kIGIvcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjNiMTM0Ci0tLSAvZGV2L251bGwKKysr
IGIvcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZApAQCAtMCwwICsxLDE4OCBAQAorIyBSZXNvbHZp
bmcgRGlzYWdyZWVtZW50CisKK1RoaXMgZ3VpZGUgcHJvdmlkZXMgQmVzdCBQcmFjdGljZSBvbiBy
ZXNvbHZpbmcgZGlzYWdyZWVtZW50LCBzdWNoIGFzCisqIEdyYWNlZnVsbHkgYWNjZXB0IGNvbnN0
cnVjdGl2ZSBjcml0aWNpc20KKyogRm9jdXMgb24gd2hhdCBpcyBiZXN0IGZvciB0aGUgY29tbXVu
aXR5CisqIFJlc29sdmUgZGlmZmVyZW5jZXMgaW4gb3BpbmlvbiBlZmZlY3RpdmVseQorCisjIyBU
aGVvcnk6IFBhdWwgR3JhaGFtJ3MgaGllcmFyY2h5IG9mIGRpc2FncmVlbWVudAorCitQYXVsIEdy
YWhhbSBwcm9wb3NlZCBhICoqZGlzYWdyZWVtZW50IGhpZXJhcmNoeSoqIGluIGEgMjAwOCBlc3Nh
eQorKipbSG93IHRvIERpc2FncmVlXVsxXSoqLCBwdXR0aW5nIHR5cGVzIG9mIGFyZ3VtZW50cyBp
bnRvIGEgc2V2ZW4tcG9pbnQKK2hpZXJhcmNoeSBhbmQgb2JzZXJ2aW5nIHRoYXQgKm1vdmluZyB1
cCB0aGUgZGlzYWdyZWVtZW50IGhpZXJhcmNoeSBtYWtlcyBwZW9wbGUKK2xlc3MgbWVhbiwgYW5k
IHdpbGwgbWFrZSBtb3N0IG9mIHRoZW0gaGFwcGllciouIEdyYWhhbSBhbHNvIHN1Z2dlc3RlZCB0
aGF0IHRoZQoraGllcmFyY2h5IGNhbiBiZSB0aG91Z2h0IG9mIGFzIGEgcHlyYW1pZCwgYXMgdGhl
IGhpZ2hlc3QgZm9ybXMgb2YgZGlzYWdyZWVtZW50CithcmUgcmFyZXIuCisKK3wgIVtHcmFoYW0n
cyBIaWVyYXJjaHkgb2YgRGlzYWdyZWVtZW50XVsyXSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKK3wgKkEgcmVwcmVzZW50YXRpb24gb2YgR3JhaGFtJ3MgaGllcmFyY2h5IG9m
IGRpc2FncmVlbWVudCBmcm9tIFtMb3VkYWNyaXNdWzNdCisgIG1vZGlmaWVkIGJ5IFtSb2NrZXQw
MDBdWzRdKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
CisKK0luIHRoZSBjb250ZXh0IG9mIHRoZSBYZW4gUHJvamVjdCB3ZSBzdHJpdmUgdG8gKipvbmx5
IHVzZSB0aGUgdG9wIGhhbGYqKiBvZiB0aGUKK2hpZXJhcmNoeS4gKipOYW1lLWNhbGxpbmcqKiBh
bmQgKipBZCBob21pbmVtKiogYXJndW1lbnRzIGFyZSBub3QgYWNjZXB0YWJsZQord2l0aGluIHRo
ZSBYZW4gUHJvamVjdC4KKworIyMgSXNzdWU6IFNjb3BlIGNyZWVwCisKK09uZSB0aGluZyB3aGlj
aCBvY2Nhc2lvbmFsbHkgaGFwcGVucyBkdXJpbmcgY29kZSByZXZpZXcgaXMgdGhhdCBhIGNvZGUg
cmV2aWV3ZXIKK2Fza3Mgb3IgYXBwZWFycyB0byBhc2sgdGhlIGF1dGhvciBvZiBhIHBhdGNoIHRv
IGltcGxlbWVudCBhZGRpdGlvbmFsCitmdW5jdGlvbmFsaXRpZXMuCisKK1RoaXMgY291bGQgdGFr
ZSBmb3IgZXhhbXBsZSB0aGUgZm9ybSBvZgorPiBEbyB5b3UgdGhpbmsgaXQgd291bGQgYmUgdXNl
ZnVsIGZvciB0aGUgY29kZSB0byBkbyBYWFg/Cis+IEkgY2FuIGltYWdpbmUgYSB1c2VyIHdhbnRp
bmcgdG8gZG8gWVlZIChhbmQgWFhYIHdvdWxkIGVuYWJsZSB0aGlzKQorCitUaGF0IHBvdGVudGlh
bGx5IGFkZHMgYWRkaXRpb25hbCB3b3JrIGZvciB0aGUgY29kZSBhdXRob3IsIHdoaWNoIHRoZXkg
bWF5IG5vdAoraGF2ZSB0aGUgdGltZSB0byBwZXJmb3JtLiBJdCBpcyBnb29kIHByYWN0aWNlIGZv
ciBhdXRob3JzIHRvIGNvbnNpZGVyIHN1Y2ggYQorcmVxdWVzdCBpbiB0ZXJtcyBvZgorKiBVc2Vm
dWxuZXNzIHRvIHRoZSB1c2VyCisqIENvZGUgY2h1cm4sIGNvbXBsZXhpdHkgb3IgaW1wYWN0IG9u
IG90aGVyIHN5c3RlbSBwcm9wZXJ0aWVzCisqIEV4dHJhIHRpbWUgdG8gaW1wbGVtZW50IGFuZCBy
ZXBvcnQgYmFjayB0byB0aGUgcmV2aWV3ZXIKKworSWYgeW91IGJlbGlldmUgdGhhdCB0aGUgaW1w
YWN0L2Nvc3QgaXMgdG9vIGhpZ2gsIHJlcG9ydCBiYWNrIHRvIHRoZSByZXZpZXdlci4KK1RvIHJl
c29sdmUgdGhpcywgaXQgaXMgYWR2aXNhYmxlIHRvCisqIFJlcG9ydCB5b3VyIGZpbmRpbmdzCisq
IEFuZCB0aGVuIGNoZWNrIHdoZXRoZXIgdGhpcyB3YXMgbWVyZWx5IGFuIGludGVyZXN0aW5nIHN1
Z2dlc3Rpb24sIG9yIHNvbWV0aGluZworICB0aGUgcmV2aWV3ZXIgZmVlbHMgbW9yZSBzdHJvbmds
eSBhYm91dAorCitJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZXJlIGFyZSB0eXBpY2FsbHkgc2V2ZXJh
bCBjb21tb24gb3V0Y29tZXMKKyogVGhlICoqYXV0aG9yIGFuZCByZXZpZXdlciBhZ3JlZSoqIHRo
YXQgdGhlIHN1Z2dlc3Rpb24gc2hvdWxkIGJlIGltcGxlbWVudGVkCisqIFRoZSAqKmF1dGhvciBh
bmQgcmV2aWV3ZXIgYWdyZWUqKiB0aGF0IGl0IG1heSBtYWtlIHNlbnNlIHRvIGRlZmVyCisgIGlt
cGxlbWVudGF0aW9uCisqIFRoZSAqKmF1dGhvciBhbmQgcmV2aWV3ZXIgYWdyZWUqKiB0aGF0IGl0
IG1ha2VzIG5vIHNlbnNlIHRvIGltcGxlbWVudCB0aGUKKyAgc3VnZ2VzdGlvbgorCitUaGUgYXV0
aG9yIG9mIGEgcGF0Y2ggd291bGQgdHlwaWNhbGx5IHN1Z2dlc3QgdGhlaXIgcHJlZmVycmVkIG91
dGNvbWUsIGZvcgorZXhhbXBsZQorPiBJIGFtIG5vdCBzdXJlIGl0IGlzIHdvcnRoIHRvIGltcGxl
bWVudCBYWFgKKz4gRG8geW91IHRoaW5rIHRoaXMgY291bGQgYmUgZG9uZSBhcyBhIHNlcGFyYXRl
IHBhdGNoIGluIGZ1dHVyZT8KKworSW4gY2FzZXMsIHdoZXJlIG5vIGFncmVlbWVudCBjYW4gYmUg
Zm91bmQsIHRoZSBiZXN0IGFwcHJvYWNoIHdvdWxkIGJlIHRvIGdldCBhbgoraW5kZXBlbmRlbnQg
b3BpbmlvbiBmcm9tIGFub3RoZXIgbWFpbnRhaW5lciBvciB0aGUgcHJvamVjdCdzIGxlYWRlcnNo
aXAgdGVhbS4KKworIyMgSXNzdWU6IFtCaWtlc2hlZGRpbmddWzVdCisKK09jY2FzaW9uYWxseSBk
aXNjdXNzaW9ucyBhYm91dCB1bmltcG9ydGFudCBidXQgZWFzeS10by1ncmFzcCBpc3N1ZXMgY2Fu
IGxlYWQgdG8KK3Byb2xvbmdlZCBhbmQgdW5wcm9kdWN0aXZlIGRpc2N1c3Npb25zLiBUaGUgYmVz
dCB3YXkgdG8gYXBwcm9hY2ggdGhpcyBpcyB0bwordHJ5IGFuZCAqKmFudGljaXBhdGUqKiBiaWtl
c2hlZGRpbmcgYW5kIGhpZ2hsaWdodCBpdCBhcyBzdWNoIHVwZnJvbnQuIEhvd2V2ZXIsCit0aGUg
Zm9ybWF0IG9mIGEgY29kZSByZXZpZXcgZG9lcyBub3QgYWx3YXlzIGxlbmQgaXRzZWxmIHdlbGwg
dG8gdGhpcyBhcHByb2FjaCwKK2V4Y2VwdCBmb3IgaGlnaGxpZ2h0aW5nIGl0IGluIHRoZSBjb3Zl
ciBsZXR0ZXIgb2YgYSBwYXRjaCBzZXJpZXMuCisKK0hvd2V2ZXIsIHR5cGljYWxseSBCaWtlc2hl
ZGRpbmcgaXNzdWVzIGFyZSBmYWlybHkgZWFzeSB0byByZWNvZ25pemUgaW4gYSBjb2RlCityZXZp
ZXcsIGFzIHlvdSB3aWxsIHZlcnkgcXVpY2tseSBnZXQgZGlmZmVyZW50IHJldmlld2VycyBwcm92
aWRpbmcgZGlmZmVyaW5nCitvcGluaW9ucy4gSW4gdGhpcyBjYXNlIGl0IGlzIGJlc3QgZm9yIHRo
ZSBhdXRob3Igb3IgYSByZXZpZXdlciB0byBjYWxsIG91dCB0aGUKK3BvdGVudGlhbCBiaWtlc2hl
ZGRpbmcgaXNzdWUgdXNpbmcgc29tZXRoaW5nIGxpa2UKKworPiBMb29rcyB3ZSBoYXZlIGEgYmlr
ZXNoZWRkaW5nIGlzc3VlIGhlcmUKKz4gSSB0aGluayB3ZSBzaG91bGQgY2FsbCBhIHF1aWNrIHZv
dGUgdG8gc2V0dGxlIHRoZSBpc3N1ZQorCitPdXIgZ292ZXJuYW5jZSBwcm92aWRlcyB0aGUgbWVj
aGFuaXNtcyBvZiBbaW5mb3JtYWwgdm90ZXNdWzZdIG9yCitbbGF6eSB2b3RpbmddWzddIHdoaWNo
IGxlbmQgdGhlbXNlbHZlcyB3ZWxsIHRvIHJlc29sdmUgc3VjaCBpc3N1ZXMuCisKKyMjIElzc3Vl
OiBTbWFsbCBmdW5jdGlvbmFsIGlzc3VlcworCitUaGUgbW9zdCBjb21tb24gYXJlYSBvZiBkaXNh
Z3JlZW1lbnRzIHdoaWNoIGhhcHBlbiBpbiBjb2RlIHJldmlld3MsIGFyZQorZGlmZmVyaW5nIG9w
aW5pb25zIG9uIHdoZXRoZXIgc21hbGwgZnVuY3Rpb25hbCBpc3N1ZXMgaW4gYSBwYXRjaCBzZXJp
ZXMgaGF2ZSB0bworYmUgcmVzb2x2ZWQgb3Igbm90IGJlZm9yZSB0aGUgY29kZSBpcyByZWFkeSB0
byBiZSBzdWJtaXR0ZWQuIFN1Y2ggZGlzYWdyZWVtZW50cworYXJlIHR5cGljYWxseSBjYXVzZWQg
YnkgZGlmZmVyZW50IGV4cGVjdGF0aW9ucyByZWxhdGVkIHRvIHRoZSBsZXZlbCBvZgorcGVyZmVj
dGlvbiBhIHBhdGNoIHNlcmllcyBuZWVkcyB0byBmdWxmaWwgYmVmb3JlIGl0IGNhbiBiZSBjb25z
aWRlcmVkIHJlYWR5IHRvCitiZSBjb21taXR0ZWQuCisKK1RvIGV4cGxhaW4gdGhpcyBiZXR0ZXIs
IEkgYW0gZ29pbmcgdG8gdXNlIHRoZSBhbmFsb2d5IG9mIHNvbWUgYnVpbGRpbmcgd29yayB0aGF0
CitoYXMgYmVlbiBwZXJmb3JtZWQgYXQgeW91ciBob3VzZS4gTGV0J3Mgc2F5IHRoYXQgeW91IGhh
dmUgYSBuZXcgYmF0aHJvb20KK2luc3RhbGxlZC4gQmVmb3JlIHBheWluZyB5b3VyIGJ1aWxkZXIg
dGhlIGxhc3QgaW5zdGFsbWVudCwgeW91IHBlcmZvcm0gYW4KK2luc3BlY3Rpb24gYW5kIHlvdSBm
aW5kIGlzc3VlcyBzdWNoIGFzCisqIFRoZSBzZWFscyBhcm91bmQgdGhlIGJhdGh0dWIgYXJlIG5v
dCBwZXJmZWN0bHkgZXZlbgorKiBXaGVuIHlvdSBvcGVuIHRoZSB0YXAsIHRoZSBwbHVtYmluZyBp
bml0aWFsbHkgbWFrZXMgc29tZSBsb3VkIG5vaXNlCisqIFRoZSBzaG93ZXIgbWl4ZXIgaGFzIGJl
ZW4gaW5zdGFsbGVkIHRoZSB3cm9uZyB3YXkgYXJvdW5kCisKK0luIGFsbCB0aGVzZSBjYXNlcywg
dGhlIGJhdGhyb29tIGlzIHBlcmZlY3RseSBmdW5jdGlvbmFsLCBidXQgbm90IHBlcmZlY3QuIEF0
Cit0aGlzIHBvaW50IHlvdSBoYXZlIHRoZSBjaG9pY2UgdG8gdHJ5IGFuZCBnZXQgYWxsIHRoZSBp
c3N1ZXMgYWRkcmVzc2VkLCB3aGljaCBpbgordGhlIGV4YW1wbGUgb2YgdGhlIHNob3dlciBtaXhl
ciBtYXkgcmVxdWlyZSBzaWduaWZpY2FudCByZS13b3JrIGFuZCBwb3RlbnRpYWxseQorcHVzaC1i
YWNrIGZyb20geW91ciBidWlsZGVyLiBZb3UgbWF5IGhhdmUgdG8gcmVmZXIgdG8gdGhlIGluaXRp
YWwgc3RhdGVtZW50IG9mCit3b3JrLCBidXQgaXQgdHVybnMgb3V0IGl0IGRvZXMgbm90IGNvbnRh
aW4gc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBhc2NlcnRhaW4KK3doZXRoZXIgeW91ciBidWls
ZGVyIGhhZCBjb21taXR0ZWQgdG8gdGhlIGxldmVsIG9mIHF1YWxpdHkgeW91IHdlcmUgZXhwZWN0
aW5nLgorCitTaW1pbGFyIHNpdHVhdGlvbnMgaGFwcGVuIGluIGNvZGUgcmV2aWV3cyB2ZXJ5IGZy
ZXF1ZW50bHkgYW5kIGNhbiBsZWFkIHRvIGEgbG9uZworZGlzY3Vzc2lvbiBiZWZvcmUgaXQgY2Fu
IGJlIHJlc29sdmVkLiBUaGUgbW9zdCBpbXBvcnRhbnQgdGhpbmcgaXMgdG8KKyoqaWRlbnRpZnkq
KiBhIGRpc2FncmVlbWVudCBhcyBzdWNoIGVhcmx5IGFuZCB0aGVuIGNhbGwgaXQgb3V0LiBUaXBz
IG9uIGhvdyB0bworZG8gdGhpcywgY2FuIGJlIGZvdW5kIFtoZXJlXVs4XS4KKworQXQgdGhpcyBw
b2ludCwgeW91IHdpbGwgdW5kZXJzdGFuZCB3aHkgeW91IGhhdmUgdGhlIGRpc2FncmVlbWVudCwg
YnV0IG5vdAorbmVjZXNzYXJpbHkgYWdyZWVtZW50IG9uIGhvdyB0byBtb3ZlIGZvcndhcmQuIEFu
IGVhc3kgZml4IHdvdWxkIGJlIHRvIGFncmVlIHRvCitzdWJtaXQgdGhlIGNoYW5nZSBhcyBpdCBp
cyBhbmQgZml4IGl0IGluIGZ1dHVyZS4gSW4gYSBjb3Jwb3JhdGUgc29mdHdhcmUKK2VuZ2luZWVy
aW5nIGVudmlyb25tZW50IHRoaXMgaXMgdGhlIG1vc3QgbGlrZWx5IG91dGNvbWUsIGJ1dCBpbiBv
cGVuIHNvdXJjZQorY29tbXVuaXRpZXMgYWRkaXRpb25hbCBjb25jZXJucyBoYXZlIHRvIGJlIGNv
bnNpZGVyZWQuCisqIENvZGUgcmV2aWV3ZXJzIGZyZXF1ZW50bHkgaGF2ZSBiZWVuIGluIHRoaXMg
c2l0dWF0aW9uIGJlZm9yZSB3aXRoIHRoZSBtb3N0CisgIGNvbW1vbiBvdXRjb21lIHRoYXQgdGhl
IGlzc3VlIGlzIHRoZW4gbmV2ZXIgZml4ZWQuIEJ5IGFjY2VwdGluZyB0aGUgY2hhbmdlLAorICB0
aGUgcmV2aWV3ZXJzIGhhdmUgbm8gbGV2ZXJhZ2UgdG8gZml4IHRoZSBpc3N1ZSBhbmQgbWF5IGhh
dmUgdG8gc3BlbmQgZWZmb3J0CisgIGZpeGluZyB0aGUgaXNzdWUgdGhlbXNlbHZlcyBpbiBmdXR1
cmUgYXMgaXQgbWF5IGltcGFjdCB0aGUgcHJvZHVjdCB0aGV5IGJ1aWx0CisgIG9uIHRvcCBvZiB0
aGUgY29kZS4KKyogQ29udmVyc2VseSwgYSByZXZpZXdlciBtYXkgYmUgYXNraW5nIHRoZSBhdXRo
b3IgdG8gbWFrZSB0b28gbWFueSBjaGFuZ2VzIG9mCisgIHRoaXMgdHlwZSB3aGljaCB1bHRpbWF0
ZWx5IG1heSBsZWFkIHRoZSBhdXRob3IgdG8gbm90IGNvbnRyaWJ1dGUgdG8gdGhlCisgIHByb2pl
Y3QgYWdhaW4uCisqIEFuIGF1dGhvciwgd2hpY2ggY29uc2lzdGVudGx5IGRvZXMgbm90IGFkZHJl
c3MgKiphbnkqKiBvZiB0aGVzZSBpc3N1ZXMgbWF5CisgIGVuZCB1cCBnZXR0aW5nIGEgYmFkIHJl
cHV0YXRpb24gYW5kIG1heSBmaW5kIGZ1dHVyZSBjb2RlIHJldmlld3MgbW9yZQorICBkaWZmaWN1
bHQuCisqIEFuIGF1dGhvciB3aGljaCBhbHdheXMgYWRkcmVzc2VzICoqYWxsKiogb2YgdGhlc2Ug
aXNzdWVzIG1heSBlbmQgdXAgZ2V0dGluZworICBpbnRvIGRpZmZpY3VsdGllcyB3aXRoIHRoZWly
IGVtcGxveWVyLCBhcyB0aGV5IGFyZSB0b28gc2xvdyBnZXR0aW5nIGNvZGUKKyAgdXBzdHJlYW1l
ZC4KKworTm9uZSBvZiB0aGVzZSBvdXRjb21lcyBhcmUgZ29vZCwgc28gdWx0aW1hdGVseSBhIGJh
bGFuY2UgaGFzIHRvIGJlIGZvdW5kLiBBdAordGhlIGVuZCBvZiB0aGUgZGF5LCB0aGUgc29sdXRp
b24gc2hvdWxkIGZvY3VzIG9uIHdoYXQgaXMgYmVzdCBmb3IgdGhlIGNvbW11bml0eSwKK3doaWNo
IG1heSBtZWFuIGFza2luZyBmb3IgYW4gaW5kZXBlbmRlbnQgb3BpbmlvbiBhcyBvdXRsaW5lZCBp
biB0aGUgbmV4dAorc2VjdGlvbi4KKworIyMgSXNzdWU6IE11bHRpcGxlIHdheXMgdG8gc29sdmUg
YSBwcm9ibGVtCisKK0ZyZXF1ZW50bHkgaXQgaXMgcG9zc2libGUgdGhhdCBhIHByb2JsZW0gY2Fu
IGJlIHNvbHZlZCBpbiBtdWx0aXBsZSB3YXlzIGFuZCBpdAoraXMgbm90IGFsd2F5cyBvYnZpb3Vz
IHdoaWNoIG9uZSBpcyBiZXN0LiBDb2RlIHJldmlld2VycyB0ZW5kIHRvIGZvbGxvdyB0aGVpcgor
cGVyc29uYWwgY29kaW5nIHN0eWxlIHdoZW4gcmV2aWV3aW5nIGNpZGUgYW5kIHNvbWV0aW1lcyB3
aWxsIHN1Z2dlc3QgdGhhdCBhCitjb2RlIGF1dGhvciBtYWtlcyBjaGFuZ2VzIHRvIGZvbGxvdyB0
aGVpciBvd24gc3R5bGUsIGV2ZW4gd2hlbiB0aGUgYXV0aG9yJ3MKK2NvZGUgaXMgY29ycmVjdC4g
SW4gIHN1Y2ggY2FzZXMsIGl0IGlzIGVhc3kgdG8gZGlzYWdyZWUgYW5kIHN0YXJ0IGFyZ3Vpbmcu
CisKK1dlIHJlY29tbWVuZCB0aGF0IHRoZSBjb2RlIGF1dGhvciB0cmllcyB0byBmb2xsb3cgdGhl
IGNvZGUgcmV2aWV3ZXJzIHJlcXVlc3RzLAorZXZlbiAgaWYgdGhleSBjb3VsZCBiZSBjb25zaWRl
cmVkIHN0eWxlIGlzc3VlcywgdHJ1c3RpbmcgdGhlIGV4cGVyaWVuY2Ugb2YgdGhlCitjb2RlIHJl
dmlld2VyLiBTaW1pbGFybHksIHdlIGFzayBjb2RlIHJldmlld2VycyB0byBsZXQgdGhlIGNvbnRy
aWJ1dG9yIGhhdmUgdGhlCitmcmVlZG9tIG9mIGltcGxlbWVudGF0aW9uIGNob2ljZXMsIHdoZXJl
IHRoZXkgZG8gbm90IGhhdmUgYSBkb3duc2lkZS4KKworV2UgZG8gbm90IGFsd2F5cyBzdWNjZWVk
IGluIHRoaXMsIGFzIHN1Y2ggaXQgaXMgaW1wb3J0YW50IHRvICoqaWRlbnRpZnkqKiBzdWNoIGEK
K3NpdHVhdGlvbiBhbmQgdGhlbiBjYWxsIGl0IG91dCBhcyBvdXRsaW5lZCBbaGVyZV1bOF0uCisK
KyMjIFJlc29sdXRpb246IEFza2luZyBmb3IgYW4gaW5kZXBlbmRlbnQgb3BpbmlvbgorCitNb3N0
IGRpc2FncmVlbWVudHMgY2FuIGJlIHNldHRsZWQgYnkKKyogQXNraW5nIGFub3RoZXIgbWFpbnRh
aW5lciBvciBjb21taXR0ZXIgdG8gcHJvdmlkZSBhbiBpbmRlcGVuZGVudCBvcGluaW9uIG9uCisg
IHRoZSBzcGVjaWZpYyBpc3N1ZSBpbiBwdWJsaWMgdG8gaGVscCByZXNvbHZlIGl0CisqIEZhaWxp
bmcgdGhpcyBhbiBpc3N1ZSBjYW4gYmUgZXNjYWxhdGVkIHRvIHRoZSBwcm9qZWN0IGxlYWRlcnNo
aXAgdGVhbSwgd2hpY2gKKyAgaXMgZXhwZWN0ZWQgdG8gYWN0IGFzIHJlZmVyZWUgYW5kIG1ha2Ug
YSBkZWNpc2lvbiBvbiBiZWhhbGYgb2YgdGhlIGNvbW11bml0eQorCitJZiB5b3UgZmVlbCB1bmNv
bWZvcnRhYmxlIHdpdGggdGhpcyBhcHByb2FjaCwgeW91IG1heSBhbHNvIGNvbnRhY3QKK21lZGlh
dGlvbkB4ZW5wcm9qZWN0Lm9yZyB0byBnZXQgYWR2aWNlLiBTZWUgb3VyIFtDb21tdW5pY2F0aW9u
IEd1aWRlXVs5XQorZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyMjIERlY2lzaW9uIG1ha2luZyBh
bmQgY29uZmxpY3QgcmVzb2x1dGlvbiBpbiBvdXIgZ292ZXJuYW5jZQorCitPdXIgW2dvdmVybmFu
Y2VdW0FdIGNvbnRhaW5zIHNldmVyYWwgcHJvdmVuIG1lY2hhbmlzbXMgdG8gaGVscCB3aXRoIGRl
Y2lzaW9uCittYWtpbmcgYW5kIGNvbmZsaWN0IHJlc29sdXRpb24uCisKK1NlZQorKiBbRXhwcmVz
c2luZyBhZ3JlZW1lbnQgYW5kIGRpc2FncmVlbWVudF1bQl0KKyogW0xhenkgY29uc2Vuc3VzIC8g
TGF6eSB2b3RpbmddWzddCisqIFtJbmZvcm1hbCB2b3RlcyBvciBzdXJ2ZXlzXVs2XQorKiBbTGVh
ZGVyc2hpcCB0ZWFtIGRlY2lzaW9uc11bQ10KKyogW0NvbmZsaWN0IHJlc29sdXRpb25dW0RdCisK
K1sxXTogaHR0cDovL3d3dy5wYXVsZ3JhaGFtLmNvbS9kaXNhZ3JlZS5odG1sCitbMl06IGh0dHBz
Oi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvYS9hMy9HcmFoYW0lMjdz
X0hpZXJhcmNoeV9vZl9EaXNhZ3JlZW1lbnQtZW4uc3ZnCitbM106IGh0dHBzOi8vd3d3LmNyZWF0
ZWRlYmF0ZS5jb20vdXNlci92aWV3cHJvZmlsZS9Mb3VkYWNyaXMKK1s0XTogaHR0cHM6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvVXNlcjpSb2NrZXQwMDAKK1s1XTogaHR0cHM6Ly9lbi53aWt0aW9u
YXJ5Lm9yZy93aWtpL2Jpa2VzaGVkZGluZworWzZdOiBodHRwczovL3hlbnByb2plY3Qub3JnL2Rl
dmVsb3BlcnMvZ292ZXJuYW5jZS8jaW5mb3JtYWwtdm90ZXMtb3Itc3VydmV5cworWzddOiBodHRw
czovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jbGF6eWNvbnNlbnN1cwor
WzhdOiBjb21tdW5pY2F0aW9uLXByYWN0aWNlLm1kI01pc3VuZGVyc3RhbmRpbmdzCitbOV06IGNv
bW11bmljYXRpb24tZ3VpZGUubWQKK1tBXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9w
ZXJzL2dvdmVybmFuY2UvI2RlY2lzaW9ucworW0JdOiBodHRwczovL3hlbnByb2plY3Qub3JnL2Rl
dmVsb3BlcnMvZ292ZXJuYW5jZS8jZXhwcmVzc2luZ29waW5pb24KK1tDXTogaHR0cHM6Ly94ZW5w
cm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2xlYWRlcnNoaXAKK1tEXTogaHR0cHM6
Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2NvbmZsaWN0Ci0tIAoyLjEz
LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJh
Z2VPUy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9z
LWRldmVsCg==

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:15 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0mx-0003pd-6d; Mon, 30 Dec 2019 19:33:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0mw-0003or-0y
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:14 +0000
X-Inumbo-ID: 1e69297a-2b3b-11ea-b6f1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e69297a-2b3b-11ea-b6f1-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:30 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mB-0003TW-FQ; Mon, 30 Dec 2019 19:32:27 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mB-0007YU-6y; Mon, 30 Dec 2019 19:32:27 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:14 +0000
Message-Id: <bce250afe71018f1a62f1b34866833588670a1f9.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 2/7] Xen Project Code of Conduct
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU3BlY2lmaWMgY2hhbmdl
cyB0byB0aGUgYmFzZWxpbmU6CiogUmVwbGFjZSBsaXN0IG9mIHBvc2l0aXZlIGJlaGF2aW9ycyB3
aXRoIGxpbmsgdG8gc2VwYXJhdGUgcHJvY2VzcwoqIFJlcGxhY2UgbWFpbnRhaW5lcnMgd2l0aCBw
cm9qZWN0IGxlYWRlcnNoaXAKICAoZXhjZXB0IGluIG91ciBwbGVkZ2Ugd2hlcmUgbWFpbnRhaW5l
cnMgaXMgbW9yZSBhcHByb3ByaWF0ZSkKKiBBZGQgJ29mIGFsbCBzdWItcHJvamVjdHMnIHRvIGNs
YXJpZnkgc2NvcGUgb2YgQ29DCiogUmVuYW1lIEVuZm9yY2VtZW50CiogUmVwbGFjZSAicHJvamVj
dCB0ZWFtIiB3aXRoICJDb25kdWN0IFRlYW0gbWVtYmVycyIKKiBBZGQgZS1tYWlsIGFsaWFzCiog
QWRkIHNlY3Rpb24gb24gY29udGFjdGluZyBpbmRpdmlkdWFsIENvbmR1Y3QgVGVhbSBtZW1iZXJz
CiogQWRkIHNlY3Rpb24gb24gQ29uZHVjdCBUZWFtIG1lbWJlcnMKClNpZ25lZC1vZmYtYnk6IExh
cnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4KLS0tCkNjOiBtaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKQ2M6IHhlbi1hcGlAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IHdp
bi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogbWlyYWdlb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKQ2M6IGNvbW1pdHRlcnNAeGVucHJvamVjdC5vcmcKLS0tCiBjb2RlLW9m
LWNvbmR1Y3QubWQgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t
LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9jb2RlLW9mLWNvbmR1Y3QubWQgYi9jb2RlLW9mLWNvbmR1Y3QubWQKaW5k
ZXggODFiMjE3Yy4uZWU3NTFhNyAxMDA2NDQKLS0tIGEvY29kZS1vZi1jb25kdWN0Lm1kCisrKyBi
L2NvZGUtb2YtY29uZHVjdC5tZApAQCAtMSw0ICsxLDQgQEAKLSMgQ29udHJpYnV0b3IgQ292ZW5h
bnQgQ29kZSBvZiBDb25kdWN0CisjIFhlbiBQcm9qZWN0IENvZGUgb2YgQ29uZHVjdAogCiAjIyBP
dXIgUGxlZGdlCiAKQEAgLTExLDE0ICsxMSwxMCBAQCBhcHBlYXJhbmNlLCByYWNlLCByZWxpZ2lv
biwgb3Igc2V4dWFsIGlkZW50aXR5IGFuZCBvcmllbnRhdGlvbi4KIAogIyMgT3VyIFN0YW5kYXJk
cwogCi1FeGFtcGxlcyBvZiBiZWhhdmlvciB0aGF0IGNvbnRyaWJ1dGVzIHRvIGNyZWF0aW5nIGEg
cG9zaXRpdmUgZW52aXJvbm1lbnQKLWluY2x1ZGU6Ci0KLSogVXNpbmcgd2VsY29taW5nIGFuZCBp
bmNsdXNpdmUgbGFuZ3VhZ2UKLSogQmVpbmcgcmVzcGVjdGZ1bCBvZiBkaWZmZXJpbmcgdmlld3Bv
aW50cyBhbmQgZXhwZXJpZW5jZXMKLSogR3JhY2VmdWxseSBhY2NlcHRpbmcgY29uc3RydWN0aXZl
IGNyaXRpY2lzbQotKiBGb2N1c2luZyBvbiB3aGF0IGlzIGJlc3QgZm9yIHRoZSBjb21tdW5pdHkK
LSogU2hvd2luZyBlbXBhdGh5IHRvd2FyZHMgb3RoZXIgY29tbXVuaXR5IG1lbWJlcnMKK1dlIGJl
bGlldmUgdGhhdCBhIENvZGUgb2YgQ29uZHVjdCBjYW4gaGVscCBjcmVhdGUgYSBoYXJhc3NtZW50
LWZyZWUgZW52aXJvbm1lbnQsCitidXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gY3JlYXRlIGEgd2Vs
Y29taW5nIGVudmlyb25tZW50IG9uIGl0cyBvd246IGd1aWRhbmNlIG9uCitjcmVhdGluZyBhIHdl
bGNvbWluZyBlbnZpcm9ubWVudCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBh
bmQgZnJpZW5kbHkKK3dheSwgZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdOiBUT0RPLUlOU0VSVC1V
UkwuCiAKIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMg
aW5jbHVkZToKIApAQCAtMzMsMTEgKzI5LDExIEBAIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBi
ZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKIAogIyMgT3VyIFJlc3BvbnNpYmlsaXRp
ZXMKIAotUHJvamVjdCBtYWludGFpbmVycyBhcmUgcmVzcG9uc2libGUgZm9yIGNsYXJpZnlpbmcg
dGhlIHN0YW5kYXJkcyBvZiBhY2NlcHRhYmxlCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1i
ZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2Vw
dGFibGUKIGJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQg
ZmFpciBjb3JyZWN0aXZlIGFjdGlvbiBpbgogcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1
bmFjY2VwdGFibGUgYmVoYXZpb3IuCiAKLVByb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmln
aHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK1Byb2plY3QgbGVhZGVy
c2hpcCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJl
bW92ZSwgZWRpdCwgb3IKIHJlamVjdCBjb21tZW50cywgY29tbWl0cywgY29kZSwgd2lraSBlZGl0
cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwogdGhhdCBhcmUgbm90IGFsaWduZWQg
dG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3JhcmlseSBvcgogcGVybWFu
ZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhhdCB0aGV5IGRlZW0g
aW5hcHByb3ByaWF0ZSwKQEAgLTQ1LDI2ICs0MSw0MCBAQCB0aHJlYXRlbmluZywgb2ZmZW5zaXZl
LCBvciBoYXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVz
IHdpdGhpbiBhbGwgcHJvamVjdCBzcGFjZXMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgorVGhp
cyBDb2RlIG9mIENvbmR1Y3QgYXBwbGllcyB3aXRoaW4gYWxsIHByb2plY3Qgc3BhY2VzIG9mIGFs
bCBzdWItcHJvamVjdHMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgogYW4gaW5kaXZpZHVhbCBp
cyByZXByZXNlbnRpbmcgdGhlIHByb2plY3Qgb3IgaXRzIGNvbW11bml0eSBpbiBwdWJsaWMgc3Bh
Y2VzLgogRXhhbXBsZXMgb2YgcmVwcmVzZW50aW5nIGEgcHJvamVjdCBvciBjb21tdW5pdHkgaW5j
bHVkZSB1c2luZyBhbiBvZmZpY2lhbAogcHJvamVjdCBlLW1haWwgYWRkcmVzcywgcG9zdGluZyB2
aWEgYW4gb2ZmaWNpYWwgc29jaWFsIG1lZGlhIGFjY291bnQsIG9yIGFjdGluZwogYXMgYW4gYXBw
b2ludGVkIHJlcHJlc2VudGF0aXZlIGF0IGFuIG9ubGluZSBvciBvZmZsaW5lIGV2ZW50LiBSZXBy
ZXNlbnRhdGlvbiBvZgotYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRlZmluZWQgYW5kIGNsYXJp
ZmllZCBieSBwcm9qZWN0IG1haW50YWluZXJzLgorYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRl
ZmluZWQgYW5kIGNsYXJpZmllZCBieSB0aGUgcHJvamVjdCBsZWFkZXJzaGlwLgogCi0jIyBFbmZv
cmNlbWVudAorIyMgV2hhdCB0byBkbyBpZiB5b3Ugd2l0bmVzcyBvciBhcmUgc3ViamVjdCB0byB1
bmFjY2VwdGFibGUgYmVoYXZpb3IKIAogSW5zdGFuY2VzIG9mIGFidXNpdmUsIGhhcmFzc2luZywg
b3Igb3RoZXJ3aXNlIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBtYXkgYmUKLXJlcG9ydGVkIGJ5IGNv
bnRhY3RpbmcgdGhlIHByb2plY3QgdGVhbSBhdCBbSU5TRVJUIEVNQUlMIEFERFJFU1NdLiBBbGwK
K3JlcG9ydGVkIGJ5IGNvbnRhY3RpbmcgQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXQgY29uZHVjdEB4
ZW5wcm9qZWN0Lm9yZy4gQWxsCiBjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3ZWQgYW5kIGludmVz
dGlnYXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Ci1pcyBkZWVtZWQgbmVj
ZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4gVGhlIHByb2plY3Qg
dGVhbSBpcworaXMgZGVlbWVkIG5lY2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUgdG8gdGhlIGNpcmN1
bXN0YW5jZXMuIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGFyZQogb2JsaWdhdGVkIHRvIG1haW50YWlu
IGNvbmZpZGVudGlhbGl0eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRl
bnQuCiBGdXJ0aGVyIGRldGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5
IGJlIHBvc3RlZCBzZXBhcmF0ZWx5LgogCi1Qcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3Qg
Zm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitJZiB5b3UgaGF2
ZSBjb25jZXJucyBhYm91dCBhbnkgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIGNvbmR1Y3RAIGFsaWFz
LAoreW91IGFyZSB3ZWxjb21lIHRvIGNvbnRhY3QgcHJlY2lzZWx5IHRoZSBDb25kdWN0IFRlYW0g
bWVtYmVyKHMpIG9mCit5b3VyIGNob2ljZS4KKworUHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVt
YmVycyB3aG8gZG8gbm90IGZvbGxvdyBvciBlbmZvcmNlIHRoZSBDb2RlIG9mIENvbmR1Y3QgaW4g
Z29vZAogZmFpdGggbWF5IGZhY2UgdGVtcG9yYXJ5IG9yIHBlcm1hbmVudCByZXBlcmN1c3Npb25z
IGFzIGRldGVybWluZWQgYnkgb3RoZXIKIG1lbWJlcnMgb2YgdGhlIHByb2plY3QncyBsZWFkZXJz
aGlwLgogCisjIyBDb25kdWN0IFRlYW0gbWVtYmVycworQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXJl
IHByb2plY3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgZnJvbSBhbnkKK3N1Yi1wcm9qZWN0LiBU
aGUgY3VycmVudCBsaXN0IG9mIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGlzOgorKiBMYXJzIEt1cnRo
IDxsYXJzIGRvdCBrdXJ0aCBhdCB4ZW5wcm9qZWN0IGRvdCBvcmc+CisqIEdlb3JnZSBEdW5sYXAg
PGdlb3JnZSBkb3QgZHVubGFwIGF0IGNpdHJpeCBkb3QgY29tPgorKiBJYW4gSmFja3NvbiA8aWFu
IGRvdCBqYWNrc29uIGF0IGNpdHJpeCBkb3QgY29tPgorCitDb25kdWN0IFRlYW0gbWVtYmVycyBh
cmUgY2hhbmdlZCBieSBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhpcyBkb2N1bWVudCwKK3Bvc3Rl
ZCBvbiBhbGwgc3ViLXByb2plY3QgbGlzdHMsIGZvbGxvd2VkIGJ5IGEgZm9ybWFsIGdsb2JhbCB2
b3RlIGFzIG91dGxpbmVkIFtoZXJlXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJz
L2dvdmVybmFuY2UvI3Byb2plY3QtZGVjaXNpb25zCisKICMjIEF0dHJpYnV0aW9uCiAKIFRoaXMg
Q29kZSBvZiBDb25kdWN0IGlzIGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50
XVtob21lcGFnZV0sIHZlcnNpb24gMS40LApAQCAtNzQsMyArODQsNCBAQCBhdmFpbGFibGUgYXQg
aHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNpb24vMS80L2NvZGUtb2Yt
Y29uZHVjdC5odAogCiBGb3IgYW5zd2VycyB0byBjb21tb24gcXVlc3Rpb25zIGFib3V0IHRoaXMg
Y29kZSBvZiBjb25kdWN0LCBzZWUKIGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9y
Zy9mYXEKKwotLSAKMi4xMy4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taXJhZ2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:33 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0nF-0003zN-0G; Mon, 30 Dec 2019 19:33:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0nC-0003y1-Rx
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:30 +0000
X-Inumbo-ID: 210dbad8-2b3b-11ea-a060-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 210dbad8-2b3b-11ea-a060-12813bfff9fa;
 Mon, 30 Dec 2019 19:32:34 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mE-0003U1-Lh; Mon, 30 Dec 2019 19:32:30 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mE-0007YU-9h; Mon, 30 Dec 2019 19:32:30 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:17 +0000
Message-Id: <24bb87eccaaf8937443c42c69e215fc59b66741f.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 5/7] Add Code Review Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============8105116981147279519=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============8105116981147279519==
Content-Type: text/plain; charset=y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document highlights what reviewers such as maintainers and committers look
for when reviewing code. It sets expectations for code authors and provides
a framework for code reviewers.

Changes since v3
* Added example under *Workflow from a Reviewer's Perspective* section
* Fixed typos in text introduced in v2

Changes since v2 (introduced in v2)
* Extend introduction
* Add "Code Review Workflow" covering
  - "Workflow from a Reviewer's Perspective"
  - "Workflow from an Author's Perspective"
  - "Problematic Patch Reviews"
* Wrap to 80 characters
* Replace inline links with reference links to make
  wrapping easier

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 code-review-guide.md | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 313 insertions(+)
 create mode 100644 code-review-guide.md

diff --git a/code-review-guide.md b/code-review-guide.md
new file mode 100644
index 0000000..b2c08d2
--- /dev/null
+++ b/code-review-guide.md
@@ -0,0 +1,313 @@
+# Code Review Guide
+
+This document highlights what reviewers such as maintainers and committers look
+for when reviewing your code. It sets expectations for code authors and provides
+a framework for code reviewers.
+
+Before we start, it is important to remember that the primary purpose of a
+a code review is to identify any bugs or potential bugs in the code. Most code
+reviews are relatively straight-forward and do not require re-writing the
+submitted code substantially.
+
+The document provides advice on how to structure larger patch series and
+provides  pointers on code author's and reviewer's workflows.
+
+Sometimes it happens that a submitted patch series made wrong assumptions or has
+a flawed design or architecture. This can be frustrating for contributors and
+code  reviewers. Note that this document does contain [a section](#problems)
+that provides  suggestions on how to minimize the impact for most stake-holders
+and also on how to avoid such situations.
+
+This document does **not cover** the following topics:
+* [Communication Best Practice][1]
+* [Resolving Disagreement][2]
+* [Patch Submission Workflow][3]
+* [Managing Patch Submission with Git][4]
+
+## What we look for in Code Reviews
+
+When performing a code review, reviewers typically look for the following things
+
+### Is the change necessary to accomplish the goals?
+
+* Is it clear what the goals are?
+* Do we need to make a change, or can the goals be met with existing
+  functionality?
+
+### Architecture / Interface
+
+* Is this the best way to solve the problem?
+* Is this the right part of the code to modify?
+* Is this the right level of abstraction?
+* Is the interface general enough? Too general? Forward compatible?
+
+### Functionality
+
+* Does it do what it’s trying to do?
+* Is it doing it in the most efﬁcient way?
+* Does it handle all the corner / error cases correctly?
+
+### Maintainability / Robustness
+
+* Is the code clear? Appropriately commented?
+* Does it duplicate another piece of code?
+* Does the code make hidden assumptions?
+* Does it introduce sections which need to be kept **in sync** with other
+  sections?
+* Are there other **traps** someone modifying this code might fall into?
+
+**Note:** Sometimes you will work in areas which have identified maintainability
+and/or robustness issues. In such cases, maintainers may ask you to make
+additional changes, such that your submitted code does not make things worse or
+point you to other patches are already being worked on.
+
+### System properties
+
+In some areas of the code, system properties such as
+* Code size
+* Performance
+* Scalability
+* Latency
+* Complexity
+* &c
+are also important during code reviews.
+
+### Style
+
+* Comments, carriage returns, **snuggly braces**, &c
+* See [CODING_STYLE][5] and [tools/libxl/CODING_STYLE][6]
+* No extraneous whitespace changes
+
+### Documentation and testing
+
+* If there is pre-existing documentation in the tree, such as man pages, design
+  documents, etc. a contributor may be asked to update the documentation
+  alongside the change. Documentation is typically present in the [docs][7]
+  folder.
+* When adding new features that have an impact on the end-user,
+  a contributor should include an update to the [SUPPORT.md][8] file.
+  Typically, more complex features require several patch series before it is
+  ready to be advertised in SUPPORT.md
+* When adding new features, a contributor may be asked to provide tests or
+  ensure that existing tests pass
+
+#### Testing for the Xen Project Hypervisor
+
+Tests are typically located in one of the following directories
+* **Unit tests**: [tools/tests][9] or [xen/test][A]<br>
+  Unit testing is hard for a system like Xen and typically requires building a
+  subsystem of your tree. If your change can be easily unit tested, you should
+  consider submitting tests with your patch.
+* **Build and smoke test**: see [Xen GitLab CI][B]<br>
+  Runs build tests for a combination of various distros and compilers against
+  changes committed to staging. Developers can join as members and test their
+  development branches **before** submitting a patch.
+* **XTF tests** (microkernel-based tests): see [XTF][C]<br>
+  XTF has been designed to test interactions between your software and hardware.
+  It is a very useful tool for testing low level functionality and is executed
+  as part of the project's CI system. XTF can be easily executed locally on
+  xen.git trees.
+* **osstest**: see [README][D]<br>
+  Osstest is the Xen Projects automated test system, which tests basic Xen use
+  cases on a variety of different hardware. Before changes are committed, but
+  **after** they have been reviewed. A contributor’s changes **cannot be
+  applied to master** unless the tests pass this test suite. Note that XTF and
+  other tests are also executed as part of osstest.
+
+### Patch / Patch series information
+
+* Informative one-line changelog
+* Full changelog
+* Motivation described
+* All important technical changes mentioned
+* Changes since previous revision listed
+* Reviewed-by’s and Acked-by’s dropped if appropriate
+
+More information related to these items can be found in our
+[Patch submission Guide][E].
+
+## Code Review Workflow
+
+This section is important for code authors and reviewers. We recommend that in
+particular new code authors carefully read this section.
+
+### Workflow from a Reviewer's Perspective
+
+Patch series typically contain multiple changes to the codebase, some
+transforming the same section of the codebase multiple times. It is quite common
+for patches in a patch series to rely on the previous ones. This means that code
+reviewers review  patches and patch series **sequentially** and **the structure
+of a patch series guides the code review process**. Sometimes in a long series,
+patches {1,2}/10 will be clean-ups, {3-6}/10 will be general reorganisations
+which don't really seem to do anything and then {7-10}/10 will be the substance
+of the series, which helps the code reviewer understand what {3-6}/10 were
+about.
+
+Generally there are no hard rules on how to structure a series, as the structure
+of a series is very code specific and it is hard to give specific advice. There
+are some general tips which  help and some general patterns.
+
+**Tips:**
+
+* Outline the thinking behind the structure of the patch series. This can make
+  a huge difference and helps ensure that the code reviewer understands what the
+  series is trying to achieve and which portions are addressing which problems.
+* Try and keep changes that belong to a subsystem together
+* Expect that the structure of a patch series sometimes may need to change
+  between different versions of a patch series
+* **Most importantly**: Start small. Don't submit a large and complex patch
+  series as the first interaction with the community. Try and pick a smaller
+  task first (e.g. a bug-fix, a clean-up task, etc.) such that you don't have
+  to learn the tools, code and deal with a large patch series all together for
+  the first time.
+
+**General Patterns:**
+
+If there are multiple subsystems involved in your series, then these are best
+separated out into **sets of patches**, which roughly follow the following
+seven categories. In other words: you would end up with **7 categories x N
+subsystems**. In some cases, there is a **global set of patches** that affect
+all subsytems (e.g. headers, macros, documentation) impacting all changed
+subsystems which ideally comes **before** subsystem specific changes.
+
+The seven categories typically making up a logical set of patches
+1. Cleanups and/or new Independent Helper Functions
+2. Reorganisations
+3. Headers, APIs, Documentation and anything which helps understand the
+   substance of a series
+4. The substance of the change
+5. Cleanups of any infelicities introduced temporarily
+6. Deleting old code
+7. Test code
+
+Note that in many cases, some of the listed categories are not always present
+in each set, as they are not needed. Of course, sometimes there are several
+patches describing **changes of substance**, which could be ordered in different
+ways: in such cases it may be necessary to put reorganisations in between these
+patches.
+
+If a series is structured this way, it is often possible to agree early on,
+that a significant portion of the changes are fine and to check these in
+independently of the rest of the patch series. This means that there is
+* Less work for authors to rebase
+* Less cognitive overhead for reviewers to review successive versions of a
+  series
+* The possibility for different code reviewers to review portions of such
+  large changes independently
+
+**Trade-Offs:**
+
+* In some cases, following the general pattern above may create extra patches
+  and may make a series more complex and harder to understand.
+* Crafting a more extensive cover letter will be extra effort: in most cases,
+  the extra time investment will be saving time during the code review process.
+  Verbosity is not the goal, but clarity is. Before you send a larger series
+  in particular: try and put yourself into the position of a code reviewer and
+  try to identify information that helps a code reviewer follow the patch
+  series.
+* In cases where changes need to be back-ported to older releases, moving
+  general cleanups last is often preferable: in such cases the **substance of
+  the change** is back-ported, whereas general cleanups and improvements are
+  not.
+
+**Example:**
+* [[PATCH v3 00/18] VM forking][H] is a complex patch series with an exemplary
+  cover letter. Notably, it contains the following elements
+  * It provides a description of the design goals and detailed description
+    of the steps required to fork a VM.
+  * A description of changes to the user interface
+  * It contains some information about the test status of the series including
+    some performance information.
+  * It maps the series onto the categories listed above. As expected, not
+    all categories are used in this case. However, the series does contain
+    elements of **1** (in this case preparation to enable the functionality),
+    **2** reorganisations and other non-functional changes that enable the
+    rest of the series and **4** the substance of the series with additional
+    information to make it easier for the reviewer to parse the series.
+
+### Workflow from an Author's Perspective
+
+When code authors receive feedback on their patches, they typically first try
+to clarify feedback they do not understand. For smaller patches or patch series
+it makes sense to wait until receiving feedback on the entire series before
+sending out a new version addressing the changes. For larger series, it may
+make sense to send out a new revision earlier.
+
+As a reviewer, you need some system that helps ensure that you address all
+review comments. This can be tedious when trying to map a hierarchical e-mail
+thread onto a code-base. Different people use different techniques from using
+* In-code TODO statements with comment snippets copied into the code
+* To keeping a separate TODO list
+* To printing out the review conversation tree and ticking off what has been
+  addressed
+* A combination of the above
+
+### <a name="problems"></a>Problematic Patch Reviews
+
+A typical waterfall software development process is sequential with the
+following steps: define requirements, analyse, design, code, test and deploy.
+Problems uncovered by code review or testing at such a late stage can cause
+costly redesign and delays. The principle of **[Shift Left][D]** is to take a
+task that is traditionally performed at a late stage in the process and perform
+that task at earlier stages. The goal is to save time by avoiding refactoring.
+
+Typically, problematic patch reviews uncover issues such as wrong or missed
+assumptions, a problematic architecture or design, or other bugs that require
+significant re-implementation of a patch series to fix the issue.
+
+The principle of **Shift Left** also applies in code reviews. Let's assume a
+series has a major flaw: ideally, this flaw would be picked up in the **first
+or second iteration** of the code review. As significant parts of the code may
+have to be re-written, it does not make sense for reviewers to highlight minor
+issues (such as style issues) until major flaws have been addressed of the
+affected part of a patch series. In such cases, providing feedback on minor
+issues reviewers cause the code author and themselves extra work by asking for
+changes to code, which ultimately may be changed later.
+
+To make it possible for code reviewers to identify major issues early, it is
+important for code-authors to highlight possible issues in a cover letter and
+to structure a patch series in such a way that makes it easy for reviewers to
+separate difficult and easy portions of a patch series. This will enable
+reviewers to progress uncontroversial portions of a patch independently from
+controversial ones.
+
+### Reviewing for Patch Authors
+
+The following presentation by George Dunlap, provides an excellent overview on
+how we do code reviews, specifically targeting non-maintainers.
+
+As a community, we would love to have more help reviewing, including from **new
+community members**. But many people
+* do not know where to start, or
+* believe that their review would not contribute much, or
+* may feel intimidated reviewing the code of more established community members
+
+The presentation demonstrates that you do not need to worry about any of these
+concerns. In addition, reviewing other people's patches helps you
+* write better patches and experience the code review process from the other
+  side
+* and build more influence within the community over time
+
+Thus, we recommend strongly that **patch authors** read the watch the recording
+or read the slides:
+* [Patch Review for Non-Maintainers slides][F]
+* [Patch Review for Non-Maintainers recording - 20"][G]
+
+[1]: communication-practice.md
+[2]: resolving-disagreement.md
+[3]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[4]: https://wiki.xenproject.org/wiki/Managing_Xen_Patches_with_Git
+[5]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=CODING_STYLE
+[6]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=tools/libxl/CODING_STYLE
+[7]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=docs
+[8]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=SUPPORT.md
+[9]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=tools/tests
+[A]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=xen/test
+[B]: https://gitlab.com/xen-project/xen/pipelines
+[C]: https://xenbits.xenproject.org/docs/xtf/
+[D]: https://xenbits.xenproject.org/gitweb/?p=osstest.git;a=blob;f=README
+[E]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[D]: https://devopedia.org/shift-left
+[F]: https://www.slideshare.net/xen_com_mgr/xpdds19-keynote-patch-review-for-nonmaintainers-george-dunlap-citrix-systems-uk-ltd
+[G]: https://www.youtube.com/watch?v=ehZvBmrLRwg
+[H]: https://lists.xenproject.org/archives/html/xen-devel/2019-12/threads.html#02097
-- 
2.13.0



--===============8105116981147279519==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============8105116981147279519==--

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:40 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0nM-00044g-Bs; Mon, 30 Dec 2019 19:33:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0nL-00043g-20
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:39 +0000
X-Inumbo-ID: 1d786ddc-2b3b-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1d786ddc-2b3b-11ea-88e7-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:29 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0m9-0003TL-GW; Mon, 30 Dec 2019 19:32:25 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0m9-0007YU-At; Mon, 30 Dec 2019 19:32:25 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:12 +0000
Message-Id: <cover.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
Subject: [MirageOS-devel] [PATCH v4 0/7] Code of Conduct + Extra Guides and
 Best Practices + VOTE
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBzZXJpZXMgcHJv
cG9zZXMgYSBjb25jcmV0ZSB2ZXJzaW9uIG9mIHRoZSBYZW4gUHJvamVjdApDb0MgYmFzZWQgb24g
djEuNCBvZiB0aGUgQ29udHJpYnV0b3IgQ292ZW5hbnQuIFNlZSBbMV0KCkNsb3NpbmcgdGhlIGRp
c2N1c3Npb24KPT09PT09PT09PT09PT09PT09PT09PQpJIHRoaW5rIHdlIGFyZSBhdCB0aGUgcG9p
bnQgd2hlcmUgd2UgYXJlIHJlYWR5IHRvIHB1Ymxpc2ggb3VyIGd1aWRhbmNlLgpGZWVkYmFjayBo
YXMgYmVlbiBtaW5vciBzaW5jZSB0aGUgbGFzdCB2ZXJzaW9uIGFuZCBsb29zZSBlbmRzIHdlcmUg
cHJpbWFyaWx5CnRvIGRvIHdpdGggbWlzc2luZyBleGFtcGxlcy4KClRvIGNsb3NlIHRoaXMsIEkg
d2FudGVkIHRvIGdldCB2b3RlcyBvbiB0aGUgcHJvcG9zYWwgaW4gdGhlIHVzdWFsIHdheS4KVGVj
aG5pY2FsbHksIG9ubHkgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgb2YgbWF0dXJlIHByb2plY3Rz
IHdoaWNoIGFyZQpIeXBlcnZpc29yLCBYQVBJIGFuZCB0aGUgV2luZG93cyBQViBkcml2ZXIgcHJv
amVjdCBjYW4gdm90ZS4KCkhvd2V2ZXIsIGluIHRoaXMgY2FzZSBJIGRvIGJlbGlldmUgd2UgZG8g
d2FudCB0byBoZWFyIHZvaWNlcyBvZiBvdGhlcnMuCgpWb3Rpbmcgd291bGQgZm9sbG93IHRoZSBy
dWxlcyBvdXRsaW5lZCBpbgpodHRwczovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJu
YW5jZS8jcHJvamVjdC1kZWNpc2lvbnMKCkxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHNob3VsZCB2
b3RlIGJ5IHJlcGx5aW5nIGlmIHRoZXkgYXJlIGhhcHB5IHdpdGggdGhlCnN1YnN0YW5jZSBvZiB0
aGUgcHJvcG9zYWwgYnkgdXNpbmcgdGhlIHVzdWFsIHRlcm1pbm9sb2d5CisyIDogSSBhbSBoYXBw
eSB3aXRoIHRoaXMgcHJvcG9zYWwsIGFuZCBJIHdpbGwgYXJndWUgZm9yIGl0CisxIDogSSBhbSBo
YXBweSB3aXRoIHRoaXMgcHJvcG9zYWwsIGJ1dCB3aWxsIG5vdCBhcmd1ZSBmb3IgaXQKMCA6IEkg
aGF2ZSBubyBvcGluaW9uCi0xIDogSSBhbSBub3QgaGFwcHkgd2l0aCB0aGlzIHByb3Bvc2FsLCBi
dXQgd2lsbCBub3QgYXJndWUgYWdhaW5zdCBpdAotMiA6IEkgYW0gbm90IGhhcHB5IHdpdGggdGhp
cyBwcm9wb3NhbCwgYW5kIEkgd2lsbCBhcmd1ZSBhZ2FpbnN0IGl0CgpJZiB0aGVyZSBhcmUgbWlu
b3IgY2hhbmdlcyAoc3VjaCBhcyB0eXBvcywgZXRjKSB3ZSBzaG91bGQgZml4IHRoaXMgaW4gZHVl
CmNvdXJzZS4gSWYgdGhlcmUgYXJlIG1ham9yIG9iamVjdGlvbnMsIHBsZWFzZSBoaWdobGlnaHQg
aGVyZSBidXQgYWxzbwpyYWlzZSBpdCBhZ2FpbnN0IHRoZSBzcGVjaWZpYyBwYXRjaCBhbmQgbWFr
ZSBjbGVhciB3aGF0IHRoZSBvYmplY3Rpb24gaXMuCgpNb3JlIG5vdGVzIG9uIENoYW5nZXMKPT09
PT09PT09PT09PT09PT09PT09Ckl0IHRyaWVzIHRvIGFkZHJlc3MgYWxsIGVsZW1lbnRzIGluIHRo
ZSB2MiByZXZpZXcsIHdoaWNoIHJhaXNlZAphIG51bWJlciBvZiBoYXJkIHF1ZXN0aW9ucywgd2hp
Y2ggd2VyZSBtb3N0bHkgYWRkcmVzc2VkIGluIHYzLgoKT25lIG9mIHRoZSBtYWluIG91dHN0YW5k
aW5nIGl0ZW1zIGluIHYzIHdlcmUgZ29vZCBleGFtcGxlcyBmb3IgY292ZXIgbGV0dGVycwphbmQg
d2VsbCBzdHJ1Y3R1cmVkIGxhcmdlIHBhdGNoIHNlcmllcyB3aGljaCB3ZXJlIGFkZGVkIGluIHY0
LgoKRm9yIGNvbnZlbmllbmNlIG9mIHJldmlldyBhbmQgaW4gbGluZSB3aXRoIG90aGVyIHBvbGlj
eSBkb2N1bWVudHMKSSBjcmVhdGVkIGEgZ2l0IHJlcG9zaXRvcnkgYXQgWzJdLiBUaGlzIHNlcmll
cyBjYW4gYmUgZm91bmQgYXQgWzNdLgoKSSBhbHNvIHJlZm9ybWF0dGVkIHRoZSBzZXJpZXMgdG8g
ODAgY2hhcmFjdGVycyBhbmQgcmVwbGFjZWQKaW5saW5lIHN0eWxlIGxpbmtzIHdpdGggcmVmZXJl
bmNlIHN0eWxlIGxpbmtzIHRvIG1ha2UgaXQgZWFzaWVyCnRvIHN0aWNrIHRvIGEgY2hhcmFjdGVy
IGxpbWl0LgoKWzFdIGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9u
LzEvNC9jb2RlLW9mLWNvbmR1Y3QubWQKWzJdIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2Vi
Lz9wPXBlb3BsZS9sYXJzay9jb2RlLW9mLWNvbmR1Y3QuZ2l0O2E9c3VtbWFyeQpbM10gaHR0cDov
L3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9cGVvcGxlL2xhcnNrL2NvZGUtb2YtY29uZHVjdC5n
aXQ7YT1zaG9ydGxvZztoPXJlZnMvaGVhZHMvQ29DLXY0CgpDaGFuZ2VzIHNpbmNlIHYzCiAgKiBN
b3JlIHR5cG8gYW5kIHdoaXRlc3BhY2UgZml4ZXMKCiAgY29kZS1yZXZpZXctZ3VpZGUubWQKICAg
ICogQWRkZWQgZXhhbXBsZSB1bmRlciAqV29ya2Zsb3cgZnJvbSBhIFJldmlld2VyJ3MgUGVyc3Bl
Y3RpdmUqIHNlY3Rpb24KCkNoYW5nZXMgc2luY2UgdjIKICAqIFJlZm9ybWF0dGVkIGFsbCB0ZXh0
IHRvIDgwIGNoYXJhY3RlcnMgYW5kIHJlcGxhY2VkIGxpbmsgc3R5bGUKCiAgY29kZS1yZXZpZXct
Z3VpZGUubWQKICAqIEV4dGVuZCBpbnRyb2R1Y3Rpb24KICAqIEFkZCAiQ29kZSBSZXZpZXcgV29y
a2Zsb3ciIGNvdmVyaW5nCiAgICAtICJXb3JrZmxvdyBmcm9tIGEgUmV2aWV3ZXIncyBQZXJzcGVj
dGl2ZSIKICAgIC0gIldvcmtmbG93IGZyb20gYW4gQXV0aG9yJ3MgUGVyc3BlY3RpdmUiCiAgICAt
ICJQcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzIgoKICBUT0RPOiBmaW5kIHN1aXRhYmxlIGV4YW1w
bGVzIG9uIGhvdyB0byBzdHJ1Y3R1cmUvZGVzY3JpYmUgZ29vZCBwYXRjaCBzZXJpZXMKCiAgY29t
bXVuaWNhdGlvbi1wcmFjdGljZS5tZAogICogRml4IHR5cG9zCiAgKiBFeHRlbmRlZCAiVmVyYm9z
ZSB2cy4gdGVyc2UiCiAgKiBBZGRlZCAiQ2xhcml0eSBvdmVyIFZlcmJvc2l0eSIKICAqIEJyb2tl
ICJJZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYW4gaXNzdWUgb3IgZGlzYWdyZWVtZW50IiBpbnRv
IHR3byBjaGFwdGVycwogICAgLSAiSWRlbnRpZnkgdGhlIHNldmVyaXR5IGFuZCBvcHRpb25hbGl0
eSBvZiByZXZpZXcgY29tbWVudHMiIGFuZCBtYWRlCiAgICAgIGNsYXJpZmljYXRpb25zCiAgICAt
ICJJZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYSBkaXNhZ3JlZW1lbnQiCiAgICAtIEV4cGFuZGVk
ICJQcmlvcml0aXplIHNpZ25pZmljYW50IGZsYXdzIgogICogQWRkZWQgIlJldmlld2VyczogVGFr
ZSBhY2NvdW50IG9mIHByZXZpb3VzIHJldmlld2VyKHMpIGNvbW1lbnRzIgogICogQWRkZWQgcHJl
Zml4ZXMgc3VjaCBhcyAiUmV2aWV3ZXJzOiIgd2hlcmUgYXBwcm9wcmlhdGUKCiAgcmVzb2x2aW5n
LWRpc2FncmVlbWVudC5tZAogICogRml4IHR5cG9zCiAgKiBBZGQgc2VjdGlvbjogIklzc3VlOiBN
dWx0aXBsZSB3YXlzIHRvIHNvbHZlIGEgcHJvYmxlbSIKCkNoYW5nZXMgc2luY2UgdjEKKiBDb2Rl
IG9mIENvbmR1Y3QKICBPbmx5IHdoaXRlc3BhY2UgY2hhbmdlcwoKKiBBZGRlZCBDb21tdW5pY2F0
aW9uIEd1aWRlCiAgQ29udGFpbnMgdmFsdWVzIGFuZCBhIHByb2Nlc3MgYmFzZWQgb24gYWR2aWNl
IGFuZCBtZWRpYXRpb24gaW4gY2FzZSBvZiBpc3N1ZXMKICBUaGlzIGlzIHRoZSBwcmltYXJ5IHBv
cnRhbCBmb3IKCiogQWRkZWQgQ29kZSBSZXZpZXcgR3VpZGUKICBXaGljaCBpcyBiYXNlZCBvbiBb
NF0gd2l0aCBzb21lIGFkZGl0aW9ucyBmb3IgY29tcGxldGVuZXNzCiAgSXQgcHJpbWFyaWx5IHNl
dHMgZXhwZWN0YXRpb25zIGFuZCBhbnl0aGluZyBjb21tdW5pY2F0aW9uIHJlbGF0ZWQgaXMgcmVt
b3ZlZAoKKiBBZGRlZCBndWlkZSBvbiBDb21tdW5pY2F0aW9uIEJlc3QgUHJhY3RpY2UKICBUYWtl
cyB0aGUgY29tbXVuaWNhdGlvbiBzZWN0aW9uIGZyb20gWzRdIGFuZCBleHBhbmRzIG9uIGl0IHdp
dGggbW9yZSBleGFtcGxlcwogIGFuZCBjYXNlcy4gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB3ZSBt
YXkgbmVlZCBzb21lIGRpc2N1c3Npb24KCiogQWRkZWQgZG9jdW1lbnQgb24gUmVzb2x2aW5nIERp
c2FncmVlbWVudAogIEEgdGlueSBiaXQgb2YgdGhlb3J5IHRvIHNldCB0aGUgc2NlbmUKICBJdCBj
b3ZlcnMgc29tZSBjb21tb24gY2FzZXMgb2YgZGlzYWdyZWVtZW50cyBhbmQgaG93IHdlIG1heSBh
cHByb2FjaCB0aGVtCiAgQWdhaW4sIHRoaXMgcHJvYmFibHkgbmVlZHMgc29tZSBkaXNjdXNzaW9u
CgpDYzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3Rz
LnhlbnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IG1pcmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnBy
b2plY3Qub3JnCgoKTGFycyBLdXJ0aCAoNyk6CiAgSW1wb3J0IHYxLjQgb2YgQ29udHJpYnV0b3Ig
Q292ZW5hbnQgQ29DCiAgWGVuIFByb2plY3QgQ29kZSBvZiBDb25kdWN0CiAgUmVmb3JtYXQgWGVu
IFByb2plY3QgQ29DIHRvIGZpdCBpbnRvIDgwIGNoYXJhY3RlciBsaW1pdAogIEFkZCBDb21tdW5p
Y2F0aW9uIEd1aWRlCiAgQWRkIENvZGUgUmV2aWV3IEd1aWRlCiAgQWRkIGd1aWRlIG9uIENvbW11
bmljYXRpb24gQmVzdCBQcmFjdGljZQogIEFkZGVkIFJlc29sdmluZyBEaXNhZ3JlZW1lbnQKCi0t
CjIuMTMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWlyYWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJh
Z2Vvcy1kZXZlbAo=

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:34:10 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0np-0004ND-S3; Mon, 30 Dec 2019 19:34:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0np-0004Mj-2s
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:34:09 +0000
X-Inumbo-ID: 1e727aa2-2b3b-11ea-a1e1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e727aa2-2b3b-11ea-a1e1-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:30 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mA-0003TQ-Dq; Mon, 30 Dec 2019 19:32:26 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mA-0007YU-96; Mon, 30 Dec 2019 19:32:26 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:13 +0000
Message-Id: <00c6c80b12b1d201d7140626c7efe9d75645dee9.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 1/7] Import v1.4 of Contributor Covenant
 CoC
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
TGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgotLS0KQ2M6IG1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogeGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzog
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBtaXJhZ2Vvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpDYzogY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZwotLS0KIGNvZGUt
b2YtY29uZHVjdC5tZCB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBjb2RlLW9mLWNvbmR1Y3QubWQKCmRpZmYgLS1naXQgYS9jb2RlLW9mLWNv
bmR1Y3QubWQgYi9jb2RlLW9mLWNvbmR1Y3QubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uODFiMjE3YwotLS0gL2Rldi9udWxsCisrKyBiL2NvZGUtb2YtY29uZHVjdC5tZApA
QCAtMCwwICsxLDc2IEBACisjIENvbnRyaWJ1dG9yIENvdmVuYW50IENvZGUgb2YgQ29uZHVjdAor
CisjIyBPdXIgUGxlZGdlCisKK0luIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBh
bmQgd2VsY29taW5nIGVudmlyb25tZW50LCB3ZSBhcworY29udHJpYnV0b3JzIGFuZCBtYWludGFp
bmVycyBwbGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAorb3Vy
IGNvbW11bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVn
YXJkbGVzcyBvZiBhZ2UsIGJvZHkKK3NpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNo
YXJhY3RlcmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAorbGV2ZWwgb2Yg
ZXhwZXJpZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5
LCBwZXJzb25hbAorYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0
eSBhbmQgb3JpZW50YXRpb24uCisKKyMjIE91ciBTdGFuZGFyZHMKKworRXhhbXBsZXMgb2YgYmVo
YXZpb3IgdGhhdCBjb250cmlidXRlcyB0byBjcmVhdGluZyBhIHBvc2l0aXZlIGVudmlyb25tZW50
CitpbmNsdWRlOgorCisqIFVzaW5nIHdlbGNvbWluZyBhbmQgaW5jbHVzaXZlIGxhbmd1YWdlCisq
IEJlaW5nIHJlc3BlY3RmdWwgb2YgZGlmZmVyaW5nIHZpZXdwb2ludHMgYW5kIGV4cGVyaWVuY2Vz
CisqIEdyYWNlZnVsbHkgYWNjZXB0aW5nIGNvbnN0cnVjdGl2ZSBjcml0aWNpc20KKyogRm9jdXNp
bmcgb24gd2hhdCBpcyBiZXN0IGZvciB0aGUgY29tbXVuaXR5CisqIFNob3dpbmcgZW1wYXRoeSB0
b3dhcmRzIG90aGVyIGNvbW11bml0eSBtZW1iZXJzCisKK0V4YW1wbGVzIG9mIHVuYWNjZXB0YWJs
ZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKKworKiBUaGUgdXNlIG9mIHNleHVh
bGl6ZWQgbGFuZ3VhZ2Ugb3IgaW1hZ2VyeSBhbmQgdW53ZWxjb21lIHNleHVhbCBhdHRlbnRpb24g
b3IKKyAgYWR2YW5jZXMKKyogVHJvbGxpbmcsIGluc3VsdGluZy9kZXJvZ2F0b3J5IGNvbW1lbnRz
LCBhbmQgcGVyc29uYWwgb3IgcG9saXRpY2FsIGF0dGFja3MKKyogUHVibGljIG9yIHByaXZhdGUg
aGFyYXNzbWVudAorKiBQdWJsaXNoaW5nIG90aGVycycgcHJpdmF0ZSBpbmZvcm1hdGlvbiwgc3Vj
aCBhcyBhIHBoeXNpY2FsIG9yIGVsZWN0cm9uaWMKKyAgYWRkcmVzcywgd2l0aG91dCBleHBsaWNp
dCBwZXJtaXNzaW9uCisqIE90aGVyIGNvbmR1Y3Qgd2hpY2ggY291bGQgcmVhc29uYWJseSBiZSBj
b25zaWRlcmVkIGluYXBwcm9wcmlhdGUgaW4gYQorICBwcm9mZXNzaW9uYWwgc2V0dGluZworCisj
IyBPdXIgUmVzcG9uc2liaWxpdGllcworCitQcm9qZWN0IG1haW50YWluZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKK2JlaGF2aW9y
IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZl
IGFjdGlvbiBpbgorcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVo
YXZpb3IuCisKK1Byb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNp
YmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK3JlamVjdCBjb21tZW50cywgY29tbWl0cywgY29k
ZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwordGhhdCBhcmUg
bm90IGFsaWduZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3Jhcmls
eSBvcgorcGVybWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhh
dCB0aGV5IGRlZW0gaW5hcHByb3ByaWF0ZSwKK3RocmVhdGVuaW5nLCBvZmZlbnNpdmUsIG9yIGhh
cm1mdWwuCisKKyMjIFNjb3BlCisKK1RoaXMgQ29kZSBvZiBDb25kdWN0IGFwcGxpZXMgd2l0aGlu
IGFsbCBwcm9qZWN0IHNwYWNlcywgYW5kIGl0IGFsc28gYXBwbGllcyB3aGVuCithbiBpbmRpdmlk
dWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBpdHMgY29tbXVuaXR5IGluIHB1Ymxp
YyBzcGFjZXMuCitFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0
eSBpbmNsdWRlIHVzaW5nIGFuIG9mZmljaWFsCitwcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0
aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwgbWVkaWEgYWNjb3VudCwgb3IgYWN0aW5nCithcyBh
biBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUgZXZlbnQu
IFJlcHJlc2VudGF0aW9uIG9mCithIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQg
Y2xhcmlmaWVkIGJ5IHByb2plY3QgbWFpbnRhaW5lcnMuCisKKyMjIEVuZm9yY2VtZW50CisKK0lu
c3RhbmNlcyBvZiBhYnVzaXZlLCBoYXJhc3NpbmcsIG9yIG90aGVyd2lzZSB1bmFjY2VwdGFibGUg
YmVoYXZpb3IgbWF5IGJlCityZXBvcnRlZCBieSBjb250YWN0aW5nIHRoZSBwcm9qZWN0IHRlYW0g
YXQgW0lOU0VSVCBFTUFJTCBBRERSRVNTXS4gQWxsCitjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3
ZWQgYW5kIGludmVzdGlnYXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Citp
cyBkZWVtZWQgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4g
VGhlIHByb2plY3QgdGVhbSBpcworb2JsaWdhdGVkIHRvIG1haW50YWluIGNvbmZpZGVudGlhbGl0
eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRlbnQuCitGdXJ0aGVyIGRl
dGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5IGJlIHBvc3RlZCBzZXBh
cmF0ZWx5LgorCitQcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9y
Y2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkg
b3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgorbWVtYmVy
cyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCisKKyMjIEF0dHJpYnV0aW9uCisKK1RoaXMg
Q29kZSBvZiBDb25kdWN0IGlzIGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50
XVtob21lcGFnZV0sIHZlcnNpb24gMS40LAorYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmNvbnRy
aWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3QuaHRtbAorCitb
aG9tZXBhZ2VdOiBodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcKKworRm9yIGFu
c3dlcnMgdG8gY29tbW9uIHF1ZXN0aW9ucyBhYm91dCB0aGlzIGNvZGUgb2YgY29uZHVjdCwgc2Vl
CitodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcvZmFxCi0tIAoyLjEzLjAKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaXJhZ2VPUy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWlyYWdlT1MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pcmFnZW9zLWRldmVs
Cg==

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:34:51 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0oU-0004fs-Lo; Mon, 30 Dec 2019 19:34:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0oT-0004fG-4P
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:34:49 +0000
X-Inumbo-ID: 1f9f1c0a-2b3b-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1f9f1c0a-2b3b-11ea-88e7-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:32 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mD-0003Tq-IT; Mon, 30 Dec 2019 19:32:29 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mD-0007YU-Bu; Mon, 30 Dec 2019 19:32:29 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:16 +0000
Message-Id: <e2ebacd20a0e33967ccf02918505c8a8cedc95ab.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 4/7] Add Communication Guide
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============0608805794650638092=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============0608805794650638092==
Content-Type: text/plain; charset=y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document is a portal page that lays out our gold standard,
best practices for some common situations and mechanisms to help
resolve issues that can have a negative effect on our community.

Detail is covered in subsequent documents

Changes since v3
- Also changes the TODO in code-of-conduct.md which had been lost
  in v2

Changes since v2 (introduced in v2)
- Make lines break at 80 characters

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 code-of-conduct.md     |  4 +--
 communication-guide.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 2 deletions(-)
 create mode 100644 communication-guide.md

diff --git a/code-of-conduct.md b/code-of-conduct.md
index 7c29a4f..a6080cd 100644
--- a/code-of-conduct.md
+++ b/code-of-conduct.md
@@ -14,7 +14,7 @@ personal appearance, race, religion, or sexual identity and orientation.
 We believe that a Code of Conduct can help create a harassment-free environment,
 but is not sufficient to create a welcoming environment on its own: guidance on
 creating a welcoming environment, how to communicate in an effective and
-friendly way, etc. can be found [here][guidance].
+friendly way, etc. can be found [here][guidance]].
 
 Examples of unacceptable behavior by participants include:
 
@@ -85,7 +85,7 @@ version 1.4, available at
 https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
 
 [homepage]: https://www.contributor-covenant.org
-[guidance]: TODO-INSERT-URL
+[guidance]: communication-guide.md
 
 For answers to common questions about this code of conduct, see
 https://www.contributor-covenant.org/faq
diff --git a/communication-guide.md b/communication-guide.md
new file mode 100644
index 0000000..153b100
--- /dev/null
+++ b/communication-guide.md
@@ -0,0 +1,67 @@
+# Communication Guide
+
+We believe that our [Code of Conduct](code-of-conduct.md) can help create a
+harassment-free environment, but is not sufficient to create a welcoming
+environment on its own. We can all make mistakes: when we do, we take
+responsibility for them and try to improve.
+
+This document lays out our gold standard, best practices for some common
+situations and mechanisms to help resolve issues that can have a
+negative effect on our community.
+
+## Goal
+
+We want a productive, welcoming and agile community that can welcome new
+ideas in a complex technical field which is able to reflect on and improve how
+we work.
+
+## Communication & Handling Differences in Opinions
+
+Examples of behavior that contributes to creating a positive environment
+include:
+* Use welcoming and inclusive language
+* Keep discussions technical and actionable
+* Be respectful of differing viewpoints and experiences
+* Be aware of your own and counterpart’s communication style and culture
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Show empathy towards other community members
+* Resolve differences in opinion effectively
+
+## Getting Help
+
+When developing code collaboratively, technical discussion and disagreements
+are unavoidable. Our contributors come from different countries and cultures,
+are driven by different goals and take pride in their work and in their point
+of view. This invariably can lead to lengthy and unproductive debate,
+followed by indecision, sometimes this can impact working relationships
+or lead to other issues that can have a negative effect on our community.
+
+To minimize such issue, we provide a 3-stage process
+* Self-help as outlined in this document
+* Ability to ask for an independent opinion or help in private
+* Mediation between parties which disagree. In this case a neutral community
+  member assists the disputing parties resolve the issues or will work with the
+  parties such that they can improve future interactions.
+
+If you need and independent opinion or help, feel free to contact
+mediation@xenproject.org. The team behind mediation@ is made up of the
+same community members as those listed in the Conduct Team: see
+[Code of Conduct](code-of-conduct.md). In addition, team members are obligated
+to maintain confidentiality with regard discussions that take place. If you
+have concerns about any of the members of the mediation@ alias, you are
+welcome to contact precisely the team member(s) of your choice. In this case,
+please make certain that you highlight the nature of a request by making sure
+that either help or mediation is mentioned in the e-mail subject or body.
+
+## Specific Topics and Best Practice
+
+* [Code Review Guide](code-review-guide.md):
+  Essential reading for code reviewers and contributors
+* [Communication Best Practice](communication-practice.md):
+  This guide covers communication guidelines for code reviewers and authors.
+  It should help you create self-awareness, anticipate, avoid  and help resolve
+  communication issues.
+* [Resolving Disagreement](resolving-disagreement.md):
+  This guide lays out common situations that can lead to dead-lock and shows
+  common patterns on how to avoid and resolve issues.
-- 
2.13.0



--===============0608805794650638092==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============0608805794650638092==--

From mirageos-devel-bounces@lists.xenproject.org Mon Dec 30 19:35:10 2019
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1im0oo-0004oQ-0Z; Mon, 30 Dec 2019 19:35:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0on-0004o8-6O
 for mirageos-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:35:09 +0000
X-Inumbo-ID: 21c48c4a-2b3b-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 21c48c4a-2b3b-11ea-88e7-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:35 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mF-0003UC-QT; Mon, 30 Dec 2019 19:32:31 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mF-0007YU-DD; Mon, 30 Dec 2019 19:32:31 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:18 +0000
Message-Id: <2d005116379febe0e6cfe0ea32792eb90bc74f9d.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [MirageOS-devel] [PATCH v4 6/7] Add guide on Communication Best
 Practice
X-BeenThere: mirageos-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============3100045276528262467=="
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>

--===============3100045276528262467==
Content-Type: text/plain; charset=y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This guide covers the bulk on Best Practice related to code review
It primarily focusses on code review interactions
It also covers how to deal with Misunderstandings and Cultural
Differences

Changes since v3
* Fixed typo

Changes since v2 (added in v2)
* Fix typos
* Extended "Verbose vs. terse"
* Added "Clarity over Verbosity"
* Broke "Identify the severity of an issue or disagreement" into two chapters
  - "Identify the severity and optionality of review comments" and made
    clarifications
  - "Identify the severity of a disagreement"
  - Expanded "Prioritize significant flaws"
* Added "Reviewers: Take account of previous reviewer(s) comments"
* Added prefixes such as "Reviewers:" where appropriate
* Fixed lien wrapping to 80 characters
* Replaced inline links with reference links

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 communication-practice.md | 504 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 504 insertions(+)
 create mode 100644 communication-practice.md

diff --git a/communication-practice.md b/communication-practice.md
new file mode 100644
index 0000000..438b73a
--- /dev/null
+++ b/communication-practice.md
@@ -0,0 +1,504 @@
+# Communication Best Practice
+
+This guide provides communication Best Practice that helps you in
+* Using welcoming and inclusive language
+* Keeping discussions technical and actionable
+* Being respectful of differing viewpoints and experiences
+* Being aware of your own and counterpart’s communication style and culture
+* Show empathy towards other community members
+
+## Code reviews for **reviewers** and **patch authors**
+
+Before embarking on a code review, it is important to remember that
+* A poorly executed code review can hurt the contributors feeling, even when a
+  reviewer did not intend to do so. Feeling defensive is a normal reaction to
+  a critique or feedback. A reviewer should be aware of how the pitch, tone,
+  or sentiment of their comments could be interpreted by the contributor. The
+  same applies to responses of an author to the reviewer.
+* When reviewing someone's code, you are ultimately looking for issues. A good
+  code reviewer is able to mentally separate finding issues from articulating
+  code review comments in a constructive and positive manner: depending on your
+  personality this can be **difficult** and you may need to develop a technique
+  that works for you.
+* As software engineers we like to be proud of the solutions we came up with.
+  This can make it easy to take another people’s criticism personally. Always
+  remember that it is the code that is being reviewed, not you as a person.
+* When you receive code review feedback, please be aware that we have reviewers
+  from different backgrounds, communication styles and cultures. Although we
+  all trying to create a productive, welcoming and agile environment, we do
+  not always succeed.
+
+### Express appreciation
+
+As the nature of code review to find bugs and possible issues, it is very easy
+for reviewers to get into a mode of operation where the patch review ends up
+being a list of issues, not mentioning what is right and well done. This can
+lead to the code submitter interpreting your feedback in a negative way.
+
+The opening of a code review provides an opportunity to address this and also
+sets the tone for the rest of the code review. Starting **every** review on a
+positive note, helps set the tone for the rest of the review.
+
+For an initial patch, you can use phrases such as
+> Thanks for the patch
+> Thanks for doing this
+
+For further revisions within a review, phrases such as
+> Thank you for addressing the last set of changes
+
+If you believe the code was good, it is good practice to highlight this by
+using phrases such as
+> Looks good, just a few comments
+> The changes you have made since the last version look good
+
+If you think there were issues too many with the code to use one of the
+phrases, you can still start on a positive note, by for example saying
+> I think this is a good change
+> I think this is a good feature proposal
+
+It is also entirely fine to highlight specific changes as good. The best place
+to do this, is at the top of a patch, as addressing code review comments
+typically requires a contributor to go through the list of things to address
+and an in-lined positive comment is likely to break that workflow.
+
+You should also consider, that if you review a patch of an experienced
+contributor phrases such as *Thanks for the patch* could come across as
+patronizing, while using *Thanks for doing this* is less likely to be
+interpreted as such.
+
+Appreciation should also be expressed by patch authors when asking for
+clarifications to a review or responding to questions. A simple
+> Thank you for your feedback
+> Thank you for your reply
+> Thank you XXX!
+
+is normally sufficient.
+
+### Avoid opinion: stick to the facts
+
+The way how a reviewer expresses feedback, has a big impact on how the author
+perceives the feedback. Key to this is what we call **stick to the facts**.
+The same is true when a patch author is responding to a comment from a
+reviewer.
+
+One of our maintainers has been studying Mandarin for several years and has
+come across the most strongly-worded dictionary entry [he has ever seen][1].
+This example illustrates the problem of using opinion in code reviews vs.
+using facts extremely well.
+
+> 裹脚 (guo3 jiao3): foot-binding (a vile feudal practice which crippled women
+> both physically and spiritually)
+
+This is not something one is used to hearing from dictionary entries. Once you
+investigate the practice foot-binding, it is hard to disagree with the
+dictionary entry. However, the statement does not contain much information. If
+you read it without knowing what foot-binding is, it is hard to be convinced
+by this statement. The main take-away is that the author of the dictionary
+entry had strong opinions about this topic. It does not tell you why you
+should have the same opinion.
+
+Compare this to the [Wikipedia entry][2]
+
+> Foot binding was the custom of applying tight binding to the feet of young
+> girls to modify the shape and size of their feet. ... foot binding was a
+> painful practice and significantly limited the mobility of women, resulting
+> in lifelong disabilities for most of its subjects. ... Binding usually
+> started during the winter months since the feet were more likely to be numb,
+> and therefore the pain would not be as extreme. …The toes on each foot
+> were curled under, then pressed with great force downwards and squeezed
+> into the sole of the foot until the toes broke…
+
+Without going into the details of foot-binding, it is noticeable that none of
+what is written above uses opinion which could be interpreted as inflammatory
+language. It is a list of simple facts that are laid out in a way that make it
+obvious what the correct conclusion is.
+
+Because the Wikipedia entry is entirely fact based it is more powerful and
+persuasive than the dictionary entry. The same applies to code reviews.
+
+Making statements in code reviews such as
+> Your code is garbage
+> This idea is stupid
+
+besides being an opinion is rude and counter productive
+* It will make the patch author angry: instead of finding a solution to the
+  problem the author will spend time and mental energy wrestling with their
+  feelings
+* It does not contain any information
+* Facts are both more powerful and more persuasive
+
+Consider the following two pieces of feedback on a piece of code
+> This piece of code is confusing
+> It took me a long time to ﬁgure out what was going on here
+
+The first example expresses an opinion, whereas the second re-phrases the
+statement in terms of what you experienced, which is a fact.
+
+Other examples:
+> BAD: This is fragile
+> SOMEWHAT BETTER: This seems fragile to me
+> BEST: If X happens, Y will happen.
+
+A certain piece of code can be written in many different ways: this can lead to
+disagreements on the best architecture, design or coding pattern. As already
+pointed out in this section: avoid feedback that is opinion-based and thus
+does not add any value. Back your criticism (or idea on how to solve a
+problem) with a sensible rationale.
+
+### Review the code, not the person
+
+Without realizing it, it is easy to overlook the difference between insightful
+critique of code and personal criticism. Let's look at a theoretical function
+where there is an opportunity to return out of the function early. In this
+case, you could say
+
+> You should return from this function early, because of XXX
+
+On its own, there is nothing wrong with this statement. However, a code review
+is made up of multiple comments and using **You should** consistently can
+start to feel negative and can be mis-interpreted as a personal attack. Using
+something like avoids this issue:
+
+> Returning from this function early is better, because of XXX
+
+Without personal reference, a code review will communicate the problem, idea
+or issue without risking mis-interpretation.
+
+### Verbose vs. terse
+
+Due to the time it takes to review and compose code reviewer, reviewers often
+adopt a terse style. It is not unusual to see review comments such as
+> typo
+> s/resions/regions/
+> coding style
+> coding style: brackets not needed
+etc.
+
+Terse code review style has its place and can be productive for both the
+reviewer and the author. However, overuse can come across as unfriendly,
+lacking empathy and can thus create a negative impression with the author of a
+patch. This is in particular true, when you do not know the author or the
+author is a newcomer. Terse communication styles can also be perceived as rude
+in some cultures.
+
+If you tend to use a terse commenting style and you do not know whether the
+author is OK with it, it is often a good idea to compensate for it in the code
+review opening (where you express appreciation) or when there is a need for
+verbose expression. However, when you know are working with a seasoned code
+author, it is also entirely acceptable to drop niceties such as expressing
+appreciation with the goal to save the author and reviewer time.
+
+It is also entirely fine to mention that you have a fairly terse communication
+style and ask whether the author is OK with it. In almost all cases, they will
+be: by asking you are showing empathy that helps counteract a negative
+impression.
+
+### Clarity over verbosity
+
+When reading this document, you may get the impression that following the
+guidance outlined here takes more effort and time for both code reviewers and
+code authors. This is not the intention: much of this document aims to create
+clearer communication, which ultimately saves time by reducing unnecessary
+iterations during communication. We value **clarity over verbosity**.
+
+Areas which often create unnecessary back-and-forth between reviewers and
+authors are
+* Unstated assumptions and goals
+* Leave suggestions, examples, and resources (such as links to existing code)
+* There is nothing more helpful for the thought process than example. It
+  guarantees that you have a shared understanding and reduces the questions
+  asked on a comment.
+
+### Code Review Comments should be actionable
+
+Code review comments should be actionable: in other words, it needs to be clear
+what the author of the code needs to do to address the issue you identified.
+
+Statements such as
+> BAD: This is wrong
+> BAD: This does not work
+> BETTER, BUT NOT GOOD: This does not work, because of XXX
+
+do not normally provide the author of a patch with enough information to send
+out a new patch version. By doing this, you essentially force the patch author
+to **find** and **implement** an alternative, which then may also not be
+acceptable to you as the **reviewer** of the patch.
+
+A better way to approach this is to say
+
+> This does not work, because of XXX
+> You may want to investigate YYY and ZZZ as alternatives
+
+In some cases, it may not be clear whether YYY or ZZZ are the better solution.
+As a reviewer you should be as up-front and possible in such a case and say
+something like
+
+> I am not sure whether YYY and ZZZ are better, so you may want to outline your
+> thoughts about both solutions by e-mail first, such that we can decide what
+> works best
+
+### Identify the severity and optionality of review comments
+
+By default, every comment which is made **ought to be addressed** by the
+author. However, sometimes reviewers note issues, which would be nice if they
+were addressed, but are not mandatory to fix.
+
+Typically, reviewers use terminology such as
+> This would be a nice-to-have
+> This is not a blocker
+
+Some maintainers use
+> NIT: XXX
+
+however, it is sometimes also used to indicate a minor issue that **must** be
+fixed. Also terminology such as **this is not a blocker** could be
+misinterpreted. It is important that **reviewers** use language that make
+clear whether a comment is an optional suggestion. Examples may be
+> NIT (optional): XXX
+> I think it would be good if X also did Y, not a requirement but nice-to-have
+
+### Identify the severity of a disagreement
+
+During a code review, it can happen that reviewer and author disagree on how
+to move forward. The default position when it comes to disagreements is that
+**both parties want to argue their case**. However, frequently one or both
+parties do not feel that strongly about a specific issue.
+
+Within the Xen Project, we have [a way][3] to highlight one's position on
+proposals, formal or informal votes using the following notation:
+> +2 : I am happy with this proposal, and I will argue for it
+> +1 : I am happy with this proposal, but will not argue for it
+> 0 : I have no opinion
+> -1 : I am not happy with this proposal, but will not argue against it
+> -2 : I am not happy with this proposal, and I will argue against it
+
+You can use a phrase such as
+> I am not happy with this suggestion, but will not argue against it
+
+to make clear where you stand, while recording your position. Conversely, a
+reviewer may do something similar
+> I am not happy with XYZ, but will not argue against it [anymore]
+> What we have now is good enough, but could be better
+
+### Authors: responding to review comments
+
+Typically patch authors are expected to **address all** review comments in the
+next version of a patch or patch series. In a smooth-running code review where
+you do not have further questions it is not at all necessary to acknowledge
+the changes you are going to make:
+* Simply send the next version with the changes addressed and record it in the
+  change-log
+
+When there is discussion, the normal practice is to remove the portion of the
+e-mail thread where there is agreement. Otherwise, the thread can become
+exceptionally long.
+
+In cases where there was discussion and maybe disagreement, it does however
+make sense to close the discussion by saying something like
+
+> ACK
+> Seems we are agreed, I am going to do this
+
+Other situations when you may want to do this are cases where the reviewer made
+optional suggestions, to make clear whether the suggestion will be followed or
+not.
+
+### Avoid uncommon words: not everyone is a native English speaker
+
+Avoid uncommon words both when reviewing code or responding to a review. Not
+everyone is a native English speaker. The use of such words can come across
+badly and can lead to misunderstandings.
+
+### Prioritize significant flaws
+
+If a patch or patch series has significant flaws, such as
+* It is built on wrong assumptions
+* There are issues with the architecture or the design
+
+it does not make sense to do a detailed code review. In such cases, it is best
+to focus on the major issues first and deal with style and minor issues in a
+subsequent review. Not all series have significant flaws, but most series have
+different classes of changes that are required for acceptance: covering a
+range of major code modifications to minor code style fixes. To avoid
+misunderstandings between reviewers and contributors, it is important to
+establish and agree whether a series or part of a series has a significant
+flaw and agree a course of action.
+
+A pragmatic approach would be to
+* Highlight problematic portions of a series in the cover letter
+* For the patch author and reviewer(s) to agree that for problematic to omit
+  style and minor issues in the review, until the significant flaw is addressed
+
+This saves both the patch author and reviewer(s) time. Note that some
+background is covered in detail in [Problematic Patch Reviews][4].
+
+
+### Reviewers: Welcome newcomers
+
+When reviewing the first few patches of a newcomer to the project, you may want
+spend additional time and effort in your code review. This contributes to a
+more **positive experience**, which ultimately helps create a positive working
+relationship in the long term.
+
+When someone does their first code submission, they will not be familiar with
+**all** conventions in the project. A good approach is to
+* Welcome the newcomer
+* Offer to help with specific questions, for example on IRC
+* Point to existing documentation: in particular if mistakes with the
+  submission itself were made. In most situations, following the submission
+  process makes the process more seamless for the contributor. So, you could
+  say something like
+
+> Hi XXX. Welcome to the community and thank you for the patch
+>
+> I noticed that the submission you made seems to not follow our process.
+> Are you aware of this document at YYY? If you follow the instructions the
+> entire code submission process and dealing with review comments becomes
+> much easier. Feel free to find me on IRC if you need specific help. My IRC
+> handle is ZZZ
+
+### Reviewers: Take account of previous reviewer(s) comments
+
+Sometimes multiple reviewers share reviewing a series. For example,
+reviewer John has reviewed the first 5 iterations of the series. The patch
+author has addressed all of John's comments and Susan comes in and picks up
+the series after iteration 5. In such cases it is possible that John and Susan
+have different styles, such as
+* different preferences on the code layout
+* different preferences on code style
+
+If Susan were to be strict on her own style and highlight her style
+preferences in subsequent reviews, this would cause additional re-work for the
+code author. In addition, it also causes extra work for Susan. The easiest way
+to avoid such situations, would be for Susan to focus on faulty code only and
+to disregard personal preferences when taking over the review of a series.
+
+### Reviewers: Review the code, then review the review
+
+As stated earlier it is often difficult to mentally separate finding issues
+from articulating code review comments in a constructive and positive manner.
+Even as an experienced code reviewer you can be in a bad mood, which can
+ impact your communication style.
+
+A good trick to avoid this, is to start and complete the code review and then
+**not send it immediately**. You can then have a final go over the code review
+at some later point in time and review your comments from the other author's
+point of view. This minimizes the risk of being misunderstood. The same
+applies when replying to a code review: draft your reply and give it a final
+scan before pressing the send button.
+
+Generally, it is a good idea for code reviewers to do this regularly, purely
+from the viewpoint of self-improvement and self-awareness.
+
+## Common Communication Pitfalls
+
+This section contains common communication issues and provides suggestions on
+how to avoid them and resolve them. These are **general** issues which affect
+**all** online communication. As such, we can only try and do our best.
+
+### Misunderstandings
+
+When you meet face to face, you can read a person’s emotions. Even with a
+phone call, someone’s tone of voice can convey a lot of information. Using
+on-line communication channels you are flying blind, which often leads to
+misunderstandings. [Research][5] shows that in up to 50% of email
+conversations, the tone of voice is misinterpreted.
+
+In code reviews and technical discussions in general we tend to see two things
+* The reviewer or author interprets an exchange as too critical, passive
+  aggressive, or other: this usually comes down to different cultures and
+  communication styles, which are covered in the next section
+* There is an actual misunderstanding of a subject under discussion
+
+In the latter case, the key to resolution is to **identify the
+misunderstanding** as quickly as possible and call it out and de-escalate
+rather than let the misunderstanding linger. This is inherently difficult and
+requires more care than normal communication. Typically you would start with
+* Showing appreciation
+* Highlighting the potential misunderstanding and verifying whether the other
+  person also feels that maybe there was a misunderstanding
+* Proposing a way forward: for example, it may make sense to move the
+  conversation from the mailing list to [IRC][6] either in private or public,
+  a community call or a private phone/video call.
+
+It is entirely acceptable to do this in a direct reply to your communication
+partner, rather than on a public e-mail list on or an otherwise public forum.
+
+A good approach is to use something like the following:
+> Hi XXX! Thank you for the insights you have given me in this code review
+> I feel that we are misunderstanding each other on the topic of YYY
+> Would you mind trying to resolve this on IRC. I am available at ZZZ
+
+Usually, technical misunderstandings come down two either
+1. Misinterpreting what the other person meant
+2. Different - usually unstated - assumptions on how something works or what
+   is to be achieved
+3. Different - usually unstated - objectives and goals, which may be
+   conflicting
+4. Real differences in opinion
+
+The goal of calling out a possible misunderstanding is to establish what
+caused the misunderstanding, such that all parties can move forward.
+Typically, 1 and 2 are easily resolved and will lead back to a constructive
+discussion. Whereas 3 and 4 may highlight an inherent disagreement, which may
+need to be resolved through techniques as
+outlined in [Resolving Disagreement][7].
+
+### Cultural differences and different communication styles
+
+The Xen Project is a global community with contributors from many different
+backgrounds. Typically, when we communicate with a person we know, we factor
+in past interactions. The less we know a person, the more we rely on cultural
+norms.
+
+However, different norms and value systems come into play when people from
+diverse cultural backgrounds interact. That can lead to misunderstandings,
+especially in sensitive situations such as conflict resolution, giving and
+receiving feedback, and consensus building.
+
+For example, giving direct feedback such as
+> [Please] replace XXX with YYY, as XXX does not do ZZZ
+
+is acceptable and normal in some cultures, whereas in cultures which value
+indirect feedback it would be considered rude. In the latter case, something
+like the following would be used
+> This looks very good to me, but I believe you should use YYY here,
+> because XXX would....
+
+The key to working and communicating well with people from different cultural
+backgrounds is **self-awareness**, which can then be used to either
+* Adapt your own communication style depending on who you talk to
+* Or to find a middle-ground that covers most bases
+
+A number of different theories in the field of working effectively are
+currently popular, with the most well-known one being
+[Erin Meyer's Culture Map][8]. A short overview can be found [here][9]
+(33 slides).
+
+### Code reviews and discussions are not competitions
+
+Code reviews on our mailing lists are not competitions on who can come up with
+the smartest solution or who is the real coding genius.
+
+In a code review - as well as in general - we expect that all stake-holders
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Resolve differences in opinion effectively
+
+The next section provides pointers on how to do this effectively.
+
+### Resolving Disagreement Effectively
+
+Common scenarios are covered our guide on [Resolving Disagreement][7], which
+lays out situations that can lead to dead-lock and shows common patterns on
+how to avoid and resolve issues.
+
+[1]: https://youtu.be/ehZvBmrLRwg?t=834
+[2]: https://en.wikipedia.org/wiki/Foot_binding
+[3]: https://xenproject.org/developers/governance/#expressingopinion
+[4]: resolving-disagreement.md#problems
+[5]: https://www.wired.com/2006/02/the-secret-cause-of-flame-wars/
+[6]: https://xenproject.org/help/irc/
+[7]: resolving-disagreement.md
+[8]: https://en.wikipedia.org/wiki/Erin_Meyer
+[9]: https://www.nsf.gov/attachments/134059/public/15LFW_WorkingWithMulticulturalTeams_LarsonC.pdf
-- 
2.13.0



--===============3100045276528262467==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlyYWdlT1Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taXJhZ2Vvcy1kZXZl
bAo=

--===============3100045276528262467==--

