From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C4D95A04DD; Mon, 26 Oct 2020 18:30:24 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6204F1E2B; Mon, 26 Oct 2020 18:30:23 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 79B181D9E for ; Mon, 26 Oct 2020 18:30:20 +0100 (CET) IronPort-SDR: VoF7YdTe1USL67SKck3ySo1cCuvlAqyezTr3j6in2ICR2TsGJLe7mBIgXm7O6h2vlftLYwomPK +C0vBpJruoNw== X-IronPort-AV: E=McAfee;i="6000,8403,9786"; a="147815492" X-IronPort-AV: E=Sophos;i="5.77,420,1596524400"; d="scan'208";a="147815492" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Oct 2020 10:30:18 -0700 IronPort-SDR: meFJOuic2JPniXt/e9ZQVn9A7VQPV66Ezvh0R2Weo+HnkK4BNa5ZEhdojhYtHsE0eNYgyhz+C/ UcMSeR8TJ7yw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,420,1596524400"; d="scan'208";a="394188379" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga001.jf.intel.com with ESMTP; 26 Oct 2020 10:30:17 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 26 Oct 2020 10:30:16 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 26 Oct 2020 10:30:16 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 26 Oct 2020 10:30:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EC65OuRw4CuzxIWl/8SYVRz76yKL1olg0KDeNSnhd3rHUbQmuaO2YOhtfznpXMGZ1DwJR5/04GZii5lBrmFEgehtVtRjsxYASjzPBARFvZz/5k3dAYQAxxr1H4zQSOKN7nHfud7/9KCpNhQks9zc+8wteGYR9X3Oj1uuL7+2gNucYS4706Dy91YwftCrZE6AFV/5rDRCJfJVCDJMOfOWgjImcjbDpwZIkN6RGD467VwEMDal9FaBk/zCwoH1Jl5j23++i85l583qchMtIOA7jPu05DlhHBs7ke3KsH7HJ1tvAlRm34zcke6sfsHX8LccWdCHfkD5UsOr7nOKsLt5Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=w2viiCB1tWutAr+xE6vvcrP1nwpnfa4SwvRZSW2Sas8=; b=nDKKPt35CIL2lb2nA6NXPpv9Y9aWQK41VMTLlDmlgaFFm66ktI/fQL2VQP8VUg8U97fqdltUFF39O06iBLm3s7CPLoxu8DL42cCsHo9RVJ09Oapaljw2bJcF2NrvFOd22QyxCYTePesL7WTJwzJ0ZtCcftRo7GOemaml2j45BE4GoaU1Q7szm5rx2B1xyoKss30QdOcM0CME1nqaTSq6vQ7yAnLatsqsr5JjAMK7FitCdFQh2K4RXl2K43+AWtTEzLMb0EDFERvaCVSzZ75qJgK+y+v7RgXT6XN9eGZXKRkv2zpT/b0HzTziWb9NSwYR6BEhu3PPYa70hz3DODanHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=w2viiCB1tWutAr+xE6vvcrP1nwpnfa4SwvRZSW2Sas8=; b=PVdaMR/SphFei6Eo66ZLxVMUjqL9CkRjhQ3gznDbCkE7KZWcEBB9dG/fEiqUnykYxDTbWU06o9AFingGs5P94/Ry//dlWwvPMf+mtJapHmm9YV8FFvzJfxEINdP1JkOjbuFeNM7QUsEBK428bcOLhVw00+Yrr5rNCgXN9UbexfY= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BYAPR11MB3848.namprd11.prod.outlook.com (2603:10b6:a03:fd::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.27; Mon, 26 Oct 2020 17:30:11 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::2473:9921:f43f:985c]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::2473:9921:f43f:985c%3]) with mapi id 15.20.3477.028; Mon, 26 Oct 2020 17:30:11 +0000 From: "Chautru, Nicolas" To: Tom Rix , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "david.marchand@redhat.com" Thread-Topic: [PATCH v5 1/7] app/bbdev: add explicit ut for latency vs validation Thread-Index: AQHWqZZObZG1OqthZUCqTZ5uZSImE6mp23kAgABLtPA= Date: Mon, 26 Oct 2020 17:30:11 +0000 Message-ID: References: <1603496581-35966-1-git-send-email-nicolas.chautru@intel.com> <1603496581-35966-2-git-send-email-nicolas.chautru@intel.com> <33fb2ef0-5609-fd5e-4bc2-b21350946a41@redhat.com> In-Reply-To: <33fb2ef0-5609-fd5e-4bc2-b21350946a41@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [45.28.143.88] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 95dadef8-ac24-48f4-0e12-08d879d4ca9b x-ms-traffictypediagnostic: BYAPR11MB3848: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:208; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uceemTi61gYjtvRjHTkKqiwfqROV02UcOfpeujW4Nj3JHQAT74L/xG3hQfoExuqBA4NREOh+RX8PPBU+IyeWshlXMHCZ1DRlll/fSbWDvX8nnRCACnBnO4jNK2RZJKUKNY6Ef4I/2vb16jBN4r/Xk7NNm8N7hO8FO7YOmb7CXlQugdTrWa7zI/QyK7icPAg8KkEv7N9tufuYIQq7akLOLcvVSPYIhIP/775oXgVUSBeoZBXtoUQEfkToRYxer/n1a49CrjiEYF3m52EOY+tWSzh38m7XJR9fmtg8ketBr8+B/A258fQfCFuqap2JPGKKVV5lEjPBtKo7rP6braFcog== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(376002)(366004)(346002)(396003)(9686003)(55016002)(4326008)(71200400001)(86362001)(2906002)(66946007)(52536014)(66556008)(64756008)(5660300002)(76116006)(66446008)(33656002)(66476007)(7696005)(6506007)(478600001)(8676002)(53546011)(316002)(110136005)(26005)(83380400001)(186003)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: HanwphyA7tmlAgfee56GQigQ2xtgjygLnSl3n0NIn/3A8X1wxVuNFZY1l1wmz4Hq6AqM5wfEciefmV8XBI3kYHVGNx/3RpkyLeJmuKVBoPCTYpcozXIOyooXcCczFn/xFyhxvUQ6pRMyi+LyZ+uzb7dLgc3v7T3DIgZFNhDMN7RV28SM4g8iWHc/fb6RGjyrOYR3ISBWk7/qjHg+nguhagV9iKwa3CmQ4WFpr8hjBc53szzD8miKuG3aDqSizhnQB7ySZd9EhqYfFJG9L/yebyIJ2vnhFuUhcFyScX+vhCjbgLBJJTSx3WpXWMsTa64ub+4+FSWrRVrlviJDPmZhxd2hC63DBajhhB+I4rzPpzg0j+s0B3OeIkZFRW+biHWx4+5fw+2mWMW07cNRTJ3N6mDfPzQKypadM6G8FTbdzdEWC54ZsT8UO8iomyTwGKkOc+D3bIaPqR19/ms0Ho1DTNQxTlnJkS0fE6BlfWzKHJfLlTnZ1uHGOm1fkXt4cfnjb78+wbf9IkA+e4rAEQhVZduchScLyBH3jNW/7nHZ/iKxVVFQYeyg8UHf35I61EmeX1X4+jHkMsiAy2VqYP37QJ6UC0Y+ua22SDnEZ4crs3M1DFC4lo+JZONTiBHceP5jSk95YYwE4MoDG8+SazPxPQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95dadef8-ac24-48f4-0e12-08d879d4ca9b X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2020 17:30:11.1162 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IVFq2/azaUz4GEF7cWIaPaTalDqRVHh6EcmViQVPEMw4fPWfXq2MrEqZnDH6ZYvbQRbBSRLgDOGfK9VLGvsYvahbYbSQnsf3MyTTLKX7ro8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3848 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v5 1/7] app/bbdev: add explicit ut for latency vs validation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFRvbSBSaXggPHRyaXhAcmVk aGF0LmNvbT4NCj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDI2LCAyMDIwIDU6NTYgQU0NCj4gVG86 IENoYXV0cnUsIE5pY29sYXMgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+OyBkZXZAZHBkay5v cmc7DQo+IGFraGlsLmdveWFsQG54cC5jb20NCj4gQ2M6IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5j b20NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAxLzddIGFwcC9iYmRldjogYWRkIGV4cGxpY2l0 IHV0IGZvciBsYXRlbmN5IHZzDQo+IHZhbGlkYXRpb24NCj4gDQo+IA0KPiBPbiAxMC8yMy8yMCA0 OjQyIFBNLCBOaWNvbGFzIENoYXV0cnUgd3JvdGU6DQo+ID4gQWRkaW5nIGV4cGxpY2l0IGRpZmZl cmVudCB1dCB3aGVuIHRlc3RpbmcgZm9yIHZhbGlkYXRpb24gb3IgbGF0ZW5jeQ0KPiA+IChlYXJs eSB0ZXJtaW5hdGlvbiBlbmFibGVkIG9yIG5vdCkuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBO aWNvbGFzIENoYXV0cnUgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+DQo+ID4gQWNrZWQtYnk6 IEFpZGFuIEdvZGRhcmQgPGFpZGFuLmdvZGRhcmRAYWNjZWxlcmNvbW0uY29tPg0KPiA+IEFja2Vk LWJ5OiBEYXZlIEJ1cmxleSA8ZGF2ZS5idXJsZXlAYWNjZWxlcmNvbW0uY29tPg0KPiA+IC0tLQ0K PiA+ICBhcHAvdGVzdC1iYmRldi90ZXN0X2JiZGV2X3BlcmYuYyB8IDkyDQo+ID4gKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KPiBTaG91bGQgdXBkYXRlIHRoZSBjb3B5 cmlnaHQuDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWJiZGV2L3Rlc3RfYmJkZXZfcGVy Zi5jDQo+ID4gYi9hcHAvdGVzdC1iYmRldi90ZXN0X2JiZGV2X3BlcmYuYw0KPiA+IGluZGV4IDZl NTUzNWQuLjM1NTRhNzcgMTAwNjQ0DQo+ID4gLS0tIGEvYXBwL3Rlc3QtYmJkZXYvdGVzdF9iYmRl dl9wZXJmLmMNCj4gPiArKysgYi9hcHAvdGVzdC1iYmRldi90ZXN0X2JiZGV2X3BlcmYuYw0KPiA+ IEBAIC0zOTk5LDEyICszOTk5LDE0IEBAIHR5cGVkZWYgaW50ICh0ZXN0X2Nhc2VfZnVuY3Rpb24p KHN0cnVjdA0KPiBhY3RpdmVfZGV2aWNlICphZCwNCj4gPiAgCXJldHVybiBpOw0KPiA+ICB9DQo+ ID4NCj4gPiArLyogVGVzdCBjYXNlIGZvciBsYXRlbmN5L3ZhbGlkYXRpb24gZm9yIExEUEMgRGVj b2RlciAqLw0KPiA+ICBzdGF0aWMgaW50DQo+ID4gIGxhdGVuY3lfdGVzdF9sZHBjX2RlYyhzdHJ1 Y3QgcnRlX21lbXBvb2wgKm1lbXBvb2wsDQo+ID4gIAkJc3RydWN0IHRlc3RfYnVmZmVycyAqYnVm cywgc3RydWN0IHJ0ZV9iYmRldl9kZWNfb3AgKnJlZl9vcCwNCj4gPiAgCQlpbnQgdmVjdG9yX21h c2ssIHVpbnQxNl90IGRldl9pZCwgdWludDE2X3QgcXVldWVfaWQsDQo+ID4gIAkJY29uc3QgdWlu dDE2X3QgbnVtX3RvX3Byb2Nlc3MsIHVpbnQxNl90IGJ1cnN0X3N6LA0KPiA+IC0JCXVpbnQ2NF90 ICp0b3RhbF90aW1lLCB1aW50NjRfdCAqbWluX3RpbWUsIHVpbnQ2NF90DQo+ICptYXhfdGltZSkN Cj4gPiArCQl1aW50NjRfdCAqdG90YWxfdGltZSwgdWludDY0X3QgKm1pbl90aW1lLCB1aW50NjRf dA0KPiAqbWF4X3RpbWUsDQo+ID4gKwkJYm9vbCBkaXNhYmxlX2V0KQ0KPiA+ICB7DQo+ID4gIAlp bnQgcmV0ID0gVEVTVF9TVUNDRVNTOw0KPiA+ICAJdWludDE2X3QgaSwgaiwgZGVxdWV1ZWQ7DQo+ ID4gQEAgLTQwMjYsNyArNDAyOCw3IEBAIHR5cGVkZWYgaW50ICh0ZXN0X2Nhc2VfZnVuY3Rpb24p KHN0cnVjdA0KPiBhY3RpdmVfZGV2aWNlICphZCwNCj4gPiAgCQkJCSJydGVfYmJkZXZfZGVjX29w X2FsbG9jX2J1bGsoKSBmYWlsZWQiKTsNCj4gPg0KPiA+ICAJCS8qIEZvciBsYXRlbmN5IHRlc3Rz IHdlIG5lZWQgdG8gZGlzYWJsZSBlYXJseSB0ZXJtaW5hdGlvbiAqLw0KPiA+IC0JCWlmIChjaGVj a19iaXQocmVmX29wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPiArCQlpZiAoZGlzYWJsZV9ldCAm JiBjaGVja19iaXQocmVmX29wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPg0KPiAJUlRFX0JCREVW X0xEUENfSVRFUkFUSU9OX1NUT1BfRU5BQkxFKSkNCj4gPiAgCQkJcmVmX29wLT5sZHBjX2RlYy5v cF9mbGFncyAtPQ0KPiA+DQo+IAlSVEVfQkJERVZfTERQQ19JVEVSQVRJT05fU1RPUF9FTkFCTEU7 DQo+IEJpdCBjbGVhcmluZyBpcyB1c3VhbGx5IGRvbmUgd2l0aCAmPSB+KCkNCg0KVGhpcyBpcyB0 aGUgY29kaW5nIHN0eWxlIGZvciByZXN0IG9mIHRoZSBmaWxlIGhlbmNlIHN0aWNraW5nIHRvIGl0 LiANCg0KPiA+IEBAIC00MjQ4LDcgKzQyNTAsNyBAQCB0eXBlZGVmIGludCAodGVzdF9jYXNlX2Z1 bmN0aW9uKShzdHJ1Y3QNCj4gYWN0aXZlX2RldmljZSAqYWQsDQo+ID4gIAlURVNUX0FTU0VSVF9O T1RfTlVMTChvcF90eXBlX3N0ciwgIkludmFsaWQgb3AgdHlwZTogJXUiLA0KPiBvcF90eXBlKTsN Cj4gPg0KPiA+ICAJcHJpbnRmKCIrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gK1xuIik7DQo+ID4gLQlwcmludGYoIj09IHRlc3Q6IHZhbGlk YXRpb24vbGF0ZW5jeVxuZGV2OiAlcywgYnVyc3Qgc2l6ZTogJXUsIG51bSBvcHM6DQo+ICV1LCBv cCB0eXBlOiAlc1xuIiwNCj4gPiArCXByaW50ZigiPT0gdGVzdDogbGF0ZW5jeVxuZGV2OiAlcywg YnVyc3Qgc2l6ZTogJXUsIG51bSBvcHM6ICV1LCBvcA0KPiA+ICt0eXBlOiAlc1xuIiwNCj4gPiAg CQkJaW5mby5kZXZfbmFtZSwgYnVyc3Rfc3osIG51bV90b19wcm9jZXNzLA0KPiBvcF90eXBlX3N0 cik7DQo+ID4NCj4gPiAgCWlmIChvcF90eXBlID09IFJURV9CQkRFVl9PUF9UVVJCT19ERUMpIEBA IC00MjcwLDcgKzQyNzIsODMNCj4gQEANCj4gPiB0eXBlZGVmIGludCAodGVzdF9jYXNlX2Z1bmN0 aW9uKShzdHJ1Y3QgYWN0aXZlX2RldmljZSAqYWQsDQo+ID4gIAkJaXRlciA9IGxhdGVuY3lfdGVz dF9sZHBjX2RlYyhvcF9wYXJhbXMtPm1wLCBidWZzLA0KPiA+ICAJCQkJb3BfcGFyYW1zLT5yZWZf ZGVjX29wLCBvcF9wYXJhbXMtDQo+ID52ZWN0b3JfbWFzaywNCj4gPiAgCQkJCWFkLT5kZXZfaWQs IHF1ZXVlX2lkLCBudW1fdG9fcHJvY2VzcywNCj4gPiArCQkJCWJ1cnN0X3N6LCAmdG90YWxfdGlt ZSwgJm1pbl90aW1lLA0KPiAmbWF4X3RpbWUsDQo+ID4gKwkJCQl0cnVlKTsNCj4gPiArCWVsc2UN Cj4gPiArCQlpdGVyID0gbGF0ZW5jeV90ZXN0X2VuYyhvcF9wYXJhbXMtPm1wLCBidWZzLA0KPiA+ ICsJCQkJCW9wX3BhcmFtcy0+cmVmX2VuY19vcCwNCj4gPiArCQkJCQlhZC0+ZGV2X2lkLCBxdWV1 ZV9pZCwNCj4gPiArCQkJCQludW1fdG9fcHJvY2VzcywgYnVyc3Rfc3osDQo+ICZ0b3RhbF90aW1l LA0KPiA+ICsJCQkJCSZtaW5fdGltZSwgJm1heF90aW1lKTsNCj4gDQo+IFRoaXMgaXMgYSByZXBl YXQgb2YgUlRFX0JCREVWX09QX1RVUkJPX0VOQy4NCj4gDQo+IERvIG5vdCBuZWVkIGJvdGguDQoN CkZhaXIgZW5vdWdoLiBUaGF0IGlzIHBhcnQgb2YgcHJldmlvdXMgY29kZSBidXQgY2FuIHNpbXBs aWZ5LiANCg0KPiANCj4gSWYgdGhlIHBvaW50IGlzIHRvIGhhdmUgYSBlbHNlIGFuZCBub3QgZmFp bCB3aGVuIHRoZSBvcF90eXBlIGlzIHVua25vd24sIHRoZW4NCj4gDQo+IHJlbW92ZSB0aGUgZWFy bGllciBhbGwgYW5kIGNvbW1lbnQgdGhlIGVsc2Ugc29tZXRoaW5nIGxpa2UNCj4gDQo+IGVsc2Ug LyogUlRFX0JCREVDX09QX1RVUkJPX0VOQyAqLw0KPiANCj4gPiArDQo+ID4gKwlpZiAoaXRlciA8 PSAwKQ0KPiA+ICsJCXJldHVybiBURVNUX0ZBSUxFRDsNCj4gPiArDQo+ID4gKwlwcmludGYoIk9w ZXJhdGlvbiBsYXRlbmN5OlxuIg0KPiA+ICsJCQkiXHRhdmc6ICVsZyBjeWNsZXMsICVsZyB1c1xu Ig0KPiA+ICsJCQkiXHRtaW46ICVsZyBjeWNsZXMsICVsZyB1c1xuIg0KPiA+ICsJCQkiXHRtYXg6 ICVsZyBjeWNsZXMsICVsZyB1c1xuIiwNCj4gPiArCQkJKGRvdWJsZSl0b3RhbF90aW1lIC8gKGRv dWJsZSlpdGVyLA0KPiA+ICsJCQkoZG91YmxlKSh0b3RhbF90aW1lICogMTAwMDAwMCkgLyAoZG91 YmxlKWl0ZXIgLw0KPiA+ICsJCQkoZG91YmxlKXJ0ZV9nZXRfdHNjX2h6KCksIChkb3VibGUpbWlu X3RpbWUsDQo+ID4gKwkJCShkb3VibGUpKG1pbl90aW1lICogMTAwMDAwMCkgLw0KPiAoZG91Ymxl KXJ0ZV9nZXRfdHNjX2h6KCksDQo+ID4gKwkJCShkb3VibGUpbWF4X3RpbWUsIChkb3VibGUpKG1h eF90aW1lICogMTAwMDAwMCkgLw0KPiA+ICsJCQkoZG91YmxlKXJ0ZV9nZXRfdHNjX2h6KCkpOw0K PiBDb3VsZCByZW1vdmUgYSB0YWIgZnJvbSB0aGUgbGFzdCA5IGxpbmVzIGZvciBiZXR0ZXIgYWxp Z25tZW50IHdpdGggcHJpbnRmDQoNCkkgYW0gdW5zdXJlIEkgZm9sbG93LiBUaGUgcmVjb21tZW5k ZWQgc3BhY2luZyBpcyAyIHRhYnMgZm9yIGNvbnRpbnVhdGlvbiBhbmQgdW5zdXJlIGhvdyB0aGUg YWxpZ25tZW50IHdvdWxkIGJlIGJldHRlci4NCkkgdHlwaWNhbGx5IG9ubHkgcmVkdWNlIHRvIDEg dGFiIG9ubHkgaWYgSSBoYXZlIHRvICg4MCBjaGFycyBsaW1pdCBiZWNvbWluZyBjdW1iZXJzb21l IHdpdGggbmVzdGVkIHN0YXRlbWVudHMpLg0KDQo+ID4gKw0KPiA+ICsJcmV0dXJuIFRFU1RfU1VD Q0VTUzsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ICt2YWxpZGF0aW9uX3Rl c3Qoc3RydWN0IGFjdGl2ZV9kZXZpY2UgKmFkLA0KPiA+ICsJCXN0cnVjdCB0ZXN0X29wX3BhcmFt cyAqb3BfcGFyYW1zKQ0KPiA+ICt7DQo+ID4gKwlpbnQgaXRlcjsNCj4gPiArCXVpbnQxNl90IGJ1 cnN0X3N6ID0gb3BfcGFyYW1zLT5idXJzdF9zejsNCj4gPiArCWNvbnN0IHVpbnQxNl90IG51bV90 b19wcm9jZXNzID0gb3BfcGFyYW1zLT5udW1fdG9fcHJvY2VzczsNCj4gPiArCWNvbnN0IGVudW0g cnRlX2JiZGV2X29wX3R5cGUgb3BfdHlwZSA9IHRlc3RfdmVjdG9yLm9wX3R5cGU7DQo+ID4gKwlj b25zdCB1aW50MTZfdCBxdWV1ZV9pZCA9IGFkLT5xdWV1ZV9pZHNbMF07DQo+ID4gKwlzdHJ1Y3Qg dGVzdF9idWZmZXJzICpidWZzID0gTlVMTDsNCj4gPiArCXN0cnVjdCBydGVfYmJkZXZfaW5mbyBp bmZvOw0KPiA+ICsJdWludDY0X3QgdG90YWxfdGltZSwgbWluX3RpbWUsIG1heF90aW1lOw0KPiA+ ICsJY29uc3QgY2hhciAqb3BfdHlwZV9zdHI7DQo+ID4gKw0KPiA+ICsJdG90YWxfdGltZSA9IG1h eF90aW1lID0gMDsNCj4gPiArCW1pbl90aW1lID0gVUlOVDY0X01BWDsNCj4gPiArDQo+ID4gKwlU RVNUX0FTU0VSVF9TVUNDRVNTKChidXJzdF9zeiA+IE1BWF9CVVJTVCksDQo+ID4gKwkJCSJCVVJT VF9TSVpFIHNob3VsZCBiZSA8PSAldSIsIE1BWF9CVVJTVCk7DQo+ID4gKw0KPiA+ICsJcnRlX2Ji ZGV2X2luZm9fZ2V0KGFkLT5kZXZfaWQsICZpbmZvKTsNCj4gPiArCWJ1ZnMgPSAmb3BfcGFyYW1z LQ0KPiA+cV9idWZzW0dFVF9TT0NLRVQoaW5mby5zb2NrZXRfaWQpXVtxdWV1ZV9pZF07DQo+ID4g Kw0KPiA+ICsJb3BfdHlwZV9zdHIgPSBydGVfYmJkZXZfb3BfdHlwZV9zdHIob3BfdHlwZSk7DQo+ ID4gKwlURVNUX0FTU0VSVF9OT1RfTlVMTChvcF90eXBlX3N0ciwgIkludmFsaWQgb3AgdHlwZTog JXUiLA0KPiBvcF90eXBlKTsNCj4gPiArDQo+ID4gKwlwcmludGYoIisgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSArXG4iKTsNCj4gPiArCXBy aW50ZigiPT0gdGVzdDogdmFsaWRhdGlvblxuZGV2OiAlcywgYnVyc3Qgc2l6ZTogJXUsIG51bSBv cHM6ICV1LCBvcA0KPiB0eXBlOiAlc1xuIiwNCj4gPiArCQkJaW5mby5kZXZfbmFtZSwgYnVyc3Rf c3osIG51bV90b19wcm9jZXNzLA0KPiBvcF90eXBlX3N0cik7DQo+ID4gKw0KPiA+ICsJaWYgKG9w X3R5cGUgPT0gUlRFX0JCREVWX09QX1RVUkJPX0RFQykNCj4gPiArCQlpdGVyID0gbGF0ZW5jeV90 ZXN0X2RlYyhvcF9wYXJhbXMtPm1wLCBidWZzLA0KPiA+ICsJCQkJb3BfcGFyYW1zLT5yZWZfZGVj X29wLCBvcF9wYXJhbXMtDQo+ID52ZWN0b3JfbWFzaywNCj4gPiArCQkJCWFkLT5kZXZfaWQsIHF1 ZXVlX2lkLCBudW1fdG9fcHJvY2VzcywNCj4gPiAgCQkJCWJ1cnN0X3N6LCAmdG90YWxfdGltZSwg Jm1pbl90aW1lLA0KPiAmbWF4X3RpbWUpOw0KPiA+ICsJZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVf QkJERVZfT1BfVFVSQk9fRU5DKQ0KPiA+ICsJCWl0ZXIgPSBsYXRlbmN5X3Rlc3RfZW5jKG9wX3Bh cmFtcy0+bXAsIGJ1ZnMsDQo+ID4gKwkJCQlvcF9wYXJhbXMtPnJlZl9lbmNfb3AsIGFkLT5kZXZf aWQsDQo+IHF1ZXVlX2lkLA0KPiA+ICsJCQkJbnVtX3RvX3Byb2Nlc3MsIGJ1cnN0X3N6LCAmdG90 YWxfdGltZSwNCj4gPiArCQkJCSZtaW5fdGltZSwgJm1heF90aW1lKTsNCj4gPiArCWVsc2UgaWYg KG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX0xEUENfRU5DKQ0KPiA+ICsJCWl0ZXIgPSBsYXRlbmN5 X3Rlc3RfbGRwY19lbmMob3BfcGFyYW1zLT5tcCwgYnVmcywNCj4gPiArCQkJCW9wX3BhcmFtcy0+ cmVmX2VuY19vcCwgYWQtPmRldl9pZCwNCj4gcXVldWVfaWQsDQo+ID4gKwkJCQludW1fdG9fcHJv Y2VzcywgYnVyc3Rfc3osICZ0b3RhbF90aW1lLA0KPiA+ICsJCQkJJm1pbl90aW1lLCAmbWF4X3Rp bWUpOw0KPiA+ICsJZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTERQQ19ERUMpDQo+ ID4gKwkJaXRlciA9IGxhdGVuY3lfdGVzdF9sZHBjX2RlYyhvcF9wYXJhbXMtPm1wLCBidWZzLA0K PiA+ICsJCQkJb3BfcGFyYW1zLT5yZWZfZGVjX29wLCBvcF9wYXJhbXMtDQo+ID52ZWN0b3JfbWFz aywNCj4gPiArCQkJCWFkLT5kZXZfaWQsIHF1ZXVlX2lkLCBudW1fdG9fcHJvY2VzcywNCj4gPiAr CQkJCWJ1cnN0X3N6LCAmdG90YWxfdGltZSwgJm1pbl90aW1lLA0KPiAmbWF4X3RpbWUsDQo+ID4g KwkJCQlmYWxzZSk7DQo+IA0KPiBUaGlzICdmYWxzZScgaXMgdGhlIG9ubHkgY2hhbmdlIGZyb20g ZiBsYXRlbmN5X3Rlc3QuDQo+IA0KPiBUaGVzZSBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byBhIGNv bW1vbiBmdW5jdGlvbi4gVGhlbiB1c2UgYSAjZGVmaW5lIG9yDQo+IHNpbWlsYXIgd3JhcHBlciBm b3IgY2FsbGluZyB3aXRoL3dpdGhvdXQgdGhpcyBmbGFnLg0KDQpGYWlyIGVub3VnaC4gVGhhbmtz LiBJIHdpbGwgcHVzaCBhbiB1cGRhdGUgbGF0ZXIgdG9kYXkuIA0KDQo+IA0KPiBUb20NCj4gDQo+ ID4gIAllbHNlDQo+ID4gIAkJaXRlciA9IGxhdGVuY3lfdGVzdF9lbmMob3BfcGFyYW1zLT5tcCwg YnVmcywNCj4gPiAgCQkJCQlvcF9wYXJhbXMtPnJlZl9lbmNfb3AsDQo+ID4gQEAgLTQ5MzAsNiAr NTAwOCwxMiBAQCB0eXBlZGVmIGludCAodGVzdF9jYXNlX2Z1bmN0aW9uKShzdHJ1Y3QNCj4gPiBh Y3RpdmVfZGV2aWNlICphZCwgIH0NCj4gPg0KPiA+ICBzdGF0aWMgaW50DQo+ID4gK3ZhbGlkYXRp b25fdGModm9pZCkNCj4gPiArew0KPiA+ICsJcmV0dXJuIHJ1bl90ZXN0X2Nhc2UodmFsaWRhdGlv bl90ZXN0KTsgfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ICBpbnRlcnJ1cHRfdGModm9p ZCkNCj4gPiAgew0KPiA+ICAJcmV0dXJuIHJ1bl90ZXN0X2Nhc2UodGhyb3VnaHB1dF90ZXN0KTsg QEAgLTQ5NjAsNyArNTA0NCw3IEBADQo+IHR5cGVkZWYNCj4gPiBpbnQgKHRlc3RfY2FzZV9mdW5j dGlvbikoc3RydWN0IGFjdGl2ZV9kZXZpY2UgKmFkLA0KPiA+ICAJLnNldHVwID0gdGVzdHN1aXRl X3NldHVwLA0KPiA+ICAJLnRlYXJkb3duID0gdGVzdHN1aXRlX3RlYXJkb3duLA0KPiA+ICAJLnVu aXRfdGVzdF9jYXNlcyA9IHsNCj4gPiAtCQlURVNUX0NBU0VfU1QodXRfc2V0dXAsIHV0X3RlYXJk b3duLCBsYXRlbmN5X3RjKSwNCj4gPiArCQlURVNUX0NBU0VfU1QodXRfc2V0dXAsIHV0X3RlYXJk b3duLCB2YWxpZGF0aW9uX3RjKSwNCj4gPiAgCQlURVNUX0NBU0VTX0VORCgpIC8qKjwgTlVMTCB0 ZXJtaW5hdGUgdW5pdCB0ZXN0IGFycmF5ICovDQo+ID4gIAl9DQo+ID4gIH07DQoNCg==