From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0C34C433F5 for ; Mon, 9 May 2022 09:43:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0CD546B0073; Mon, 9 May 2022 05:43:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 07D486B0074; Mon, 9 May 2022 05:43:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E11A76B0075; Mon, 9 May 2022 05:43:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CF9986B0073 for ; Mon, 9 May 2022 05:43:12 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A66052FCC6 for ; Mon, 9 May 2022 09:43:12 +0000 (UTC) X-FDA: 79445716224.03.BC2C7DE Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by imf19.hostedemail.com (Postfix) with ESMTP id 1AE151A0083 for ; Mon, 9 May 2022 09:43:02 +0000 (UTC) Received: from pps.filterd (m0250810.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2499Ihid030421; Mon, 9 May 2022 02:42:54 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=PPS06212021; bh=bsllY+ATra5VV3a3Ld0ekYfrokO/1n7gKStcbWRxKhY=; b=K03v/hgpnV54GqpXu07b1kyS200pjFngkaSv3aUxOFud79Uc9d99kizE49XU0uhaGpH7 PhGdZwArjpRQ/RQ8XCmUdwqbwEFDIFaHMsRxNHC7+tWQ8B89HzV6VJ1UmMfGVINe3csS 9CfLXzO6iJZVo89Lz8bomMWS+mHmSzsLkPztTodNwQByNXNqoks5QohyRl4Wd1bqaC9m b7P2JgtbbbUnwXo5qV1dEpgr8r7S3lqohTMat9IWNmjodVdzty0uYvxG/RjUOEPPs+8c m8jlpm/Wd7HE3s0qn7kB1mxulHeUaKi3jOrcaaEhixMnkWqrUQj+hPW8mPdrCCz6DKgw zg== Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 3fxde5ggm3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 09 May 2022 02:42:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QiGfdvJ7o8nrb4DVju6STrO4uaI1wYaAx0wj0u8Bq7yMapn2WqcGxBm+Uy618NokwI4Oszl5PRoHq6VeZv5iMTsVcJFO2wtQ038ZBTy9R9MIQb2iDtPVXs7lMXAS6JQiCWuWK+6Cl0AGPdKV48yC7SuhZhJw4q+pXvfvwrqnEQM6IaCEHhqDqIX6Bsq/SGsWvfZrfcMcreKNn1Nggsv4v/Tyb+kVg+xpi0zlmbMa4p8vOWetjbRk4nGMHLrOuwl5Cqd2OJ6XKHkp4J5PIiWBXoFay0RU57icUUr/cjZMSg6g2E7b4E2suRlrL48QHQ18cVmqdf1Photgan7qHb4Yog== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bsllY+ATra5VV3a3Ld0ekYfrokO/1n7gKStcbWRxKhY=; b=kLIuJxxKt3o8WjDUJqRaBOvdL8u1C+k7cxE6+Nc7qWxQL0qYPSTMynuaEHZ9A2DXwNfJ1foapYWSojRzzD5jINPpiO4DmQTjSJ8HpPw7LDugAnthR5BVfhqd+ouC6csxNNKBAX/NG4IxFsNKYriKdR0iHvDcKlEbSS7knIRws5m178KDAT72L7gOtzeibeM6pq04Z2SrLIO+w9l0sDjoZinrS1GdMdKSFRqpNM73/GiFDiHRcB6irCtMaze7P3+GSVmKsAs3whkA2TwWlOxuYstG1hZD5ODm3Lb7S4TepoTzc1xeylGgxtRQzF6Ny7nTd/DDl6Jv8NlmG00sH7dokw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from PH0PR11MB5192.namprd11.prod.outlook.com (2603:10b6:510:3b::9) by CY4PR1101MB2198.namprd11.prod.outlook.com (2603:10b6:910:1d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.23; Mon, 9 May 2022 09:42:51 +0000 Received: from PH0PR11MB5192.namprd11.prod.outlook.com ([fe80::1d6f:9e73:f47:3ba8]) by PH0PR11MB5192.namprd11.prod.outlook.com ([fe80::1d6f:9e73:f47:3ba8%7]) with mapi id 15.20.5227.023; Mon, 9 May 2022 09:42:51 +0000 From: "Song, Xiongwei" To: Hsin-Yi Wang , Matthew Wilcox CC: "phillip@squashfs.org.uk" , "linux-mm@kvack.org" , "squashfs-devel@lists.sourceforge.net" Subject: RE: squashfs performance regression and readahea Thread-Topic: squashfs performance regression and readahea Thread-Index: Adhi6Hqd2L+DZdiJQaOdnMUF8OAN3AAEnd2AAB4SFgAAACwcAAAFQokA Date: Mon, 9 May 2022 09:42:51 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1683fd41-a4e0-4111-4922-08da31a04906 x-ms-traffictypediagnostic: CY4PR1101MB2198:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5fJdMH3jq0U5FNWGTS7YfckAa3Fnzy+u1Yh6c2WmEAt4jUVAksYmDPHn99obUErQc1FalySpFVUO+u/2eGPEsHbm1PLZElQKSTdR4wPFm7KD3CgQmhVTT2uXogcrAh6wmYyfyQZA5FZVRmrv6+QX8M7XNTVgvqLIIQ5VHpkCxxDA6NarYTWgLXHMGBuHNcntSBHoAryFtXjsE6VYQfhOKtD1xe/2wZuWWieIG7+PRhWEtAcD2IPbp1Iup73PSNXUa7MUEeV/ourJD5DQnDVjgve8Jgm9ebyk3JgOuKCnS3GpGj2zcFDAjxgIpjhLDlT9MtVzbqGh3uHBJWJlw5g54hmZUxBOhQI2tBX1hx62DY7UmYCsakgYUP+f8zzga+XbGTaLHroUskaAOnHfnHUMLGmW6OtkuckXL84vU4n1n2iMJ6wUsnERdRz6Mz8LC/RDBz0Dba7aLKQtw1Q1k74Ows8LqNMVEVy60PHiv64P49AGvTGYWiJXuQI8QorAfEYdgGRCyCuwA6uXojw3v1SMX0eAJSJEP7yd46+cXNqwN2XvmdwQi84oC8ogHBFnRCERQrhM7ytvTob+CxI7FU7LPcH1kEGR0N4z95Ay8qBI2FGvQVxUz+8qV86Faq3vKTqSpAkD6nAB/KxVLog/WHtJNanP8pxCjYQnI4hUtHbsuYa3doad9WS6YgeMc3CQs7W8E4fTBOEKR8B/TczWppUQ4g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5192.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(33656002)(83380400001)(186003)(7696005)(26005)(2906002)(55016003)(110136005)(86362001)(38070700005)(508600001)(9686003)(5660300002)(38100700002)(8936002)(71200400001)(54906003)(66476007)(64756008)(66556008)(66446008)(76116006)(66946007)(8676002)(52536014)(4326008)(6506007)(53546011)(316002)(122000001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Q0FlYkF2UmNaL2s0RGt2ajhZaWRKRlBlNGNTRGJZNVlBakU3ZnZOUlRmRzZ4?= =?utf-8?B?U29wMmxiT1l0RVMrUnBXVFhydGdXck5LQmFPZXBVN0cvdVFjckZUWkJnS1Ra?= =?utf-8?B?bUd4VWtVd0pmWERXWkxRUHFuM0tZR3VGSDRmT2FrVko4Q1htQmhsTHlXNUIx?= =?utf-8?B?czBkYStEdHV0ZEFxTlJaR2Y3VDVFSmxHbFQ0Nlp2YUR4Y2hpZnVydThjd2xV?= =?utf-8?B?ekZjUzdhVTcwNVQzWU5ZQjNFWGVSNmFsMERmV3ZPdkwweFhIZFRHek5Ya0Vr?= =?utf-8?B?dnNiTkhReFhSZUUzMmJOZUpmd3FoeW81QkNDU2toQnVKQ056T1FBaG1qQVhD?= =?utf-8?B?THF4OGF0RzFnVHEyQktEckVnK3J3RHZYUXNuelRxS29BalMzLzVVN3Bsc0hF?= =?utf-8?B?MTllZ2xoVExpQUJyU2pDRTkxRXNYWXQwcXFGRzFQeUJDTFF6elllTkczMFF2?= =?utf-8?B?N3pLemFoZmdHK1pqSDJVQVZxTHJrbWE3ZUQ4bHlrNjAwUFdSN01oNkVCUTlY?= =?utf-8?B?d0FxbXFoNldRSCtZVlArMXoxaTVnOGc4ejE2TkhxdjRMQTFnZzQvNlA0VEVv?= =?utf-8?B?Y01tbHhrT09jenpYdmd1b0t0N1dCQ1BOWG51MjhXdDd0VG82blhuczg2SnR3?= =?utf-8?B?YVI4SXo3dDJmbWNQRDFvb3o5dVNBSjZhTzFxenk3ZFpNaHpBUWdkODBKeDFT?= =?utf-8?B?ZHhOODhHbCtjdjBQL2NLVEYvWmVOcktydWpneC8wS291VHVKNHVpa1RHd2h0?= =?utf-8?B?ak1JOFJPdTdoRjdMeFE3QVJkWitVb1YxVEliZ2ovb01rV3BCNUc4cCsxdXh6?= =?utf-8?B?ck42aGx6dnNDVTRjZjJKeUcwUndLY0E4c29uenlRUkxaU1lkbnAzb2YzU0I3?= =?utf-8?B?czdOWEZLWEZnVm9TZXlnOW1QMU11Qm8zcDE1ZDhKK2I3bjEvRmtjazZ1cVlY?= =?utf-8?B?WGxSTHczclF5ckxNOWlBK25CRDNtVjFNenhDSTAwdUVnbndQTFFoS3pHZDZv?= =?utf-8?B?eTdQb0lnUkc2Y3htRkU4TnVnK1h0d2dyemlnbzgrWk9PeXJlamNqRGcrRnA5?= =?utf-8?B?UThHZlhld21GdjZ0R2NUcFRqaGh3cnRibS9PY3UvcTJSOU16RFZEdmVOVGFB?= =?utf-8?B?N2dDRm54b3FIWncrbitwRlgyR1ZndU5jSWJGanNvTG1oUFFkbVQxcW1HeGNT?= =?utf-8?B?dnUwZmlwMnVlcjNmVWR6RitZa2hsMDZVbk1wb0pmanV1bStYb1hsR0dZM2Rp?= =?utf-8?B?K2loenVHbG90bGdhR1EwaSs5ZDR6YitSS0xDTjFBNFF5bTFYdjdyRXlXRXB0?= =?utf-8?B?am0xM0xTMm04VkFiTzRmSkVabHlPZzZOM2FlbGI5cVYwa2NiYllvRUVoRVNL?= =?utf-8?B?NTc5RityUGIrQzVFU2FFQnVZaFNWUFVNYW1NaGpwNmc2TXkzeGM3aWFCUnNZ?= =?utf-8?B?Z2VCRmI4MnBBT2hmSG9oZ0hJdDZEeDNFbHZ4clo3aHREeHdhWkRNS0lDU1FI?= =?utf-8?B?RmNoeVVkZzZ3bjlpNE51a1l0UTNsdGkzanFTSDdFTnBlNWkzemxzdENuN01j?= =?utf-8?B?WFMrc2RXOExUYnNHelVFcVBuTXhHazBpMW81MjV1T01NRmNSOXhyNDBUaUZm?= =?utf-8?B?QXNZTVNHKy9HSDd2bjA5QnZzdm1BbUxNendMcG1VcU5UV0NiTWwrVHByeGhh?= =?utf-8?B?dU5mNWRadTJGMFBEMXFaVktxejZmdjlXZVQ2MHY4ek1JVjhIWHRSVGVBc1N0?= =?utf-8?B?c0VyZHRvajBJMUxRUURzS3dUZno5QndOSWliNFg3NWEzeVE5b2h6cHh0VHlu?= =?utf-8?B?RGw3byt3MFgyVVdMM3NuR0hIWDJPS0hFT3NPZ2dGeExZeFFvT0dSUHZKSHZ6?= =?utf-8?B?YmZEQ2lVVjNhbVNxWTI0VW1pL0xRRlUvQkJzcDdibTExUUlVSUNpSkpHa01W?= =?utf-8?B?YVdJM0RqRnlFanllR3ZPUE9XWFE1QVZLMFhBc1Y1NXRjK2ljZHMrRlpqTnJw?= =?utf-8?B?eENNeGpLbG9hREh3NjdVSGk0Z0tmNlUzSFcraVNzQjlPK3UzVUI1djBFOVdP?= =?utf-8?B?M0drUnd1VGZESDBFbDI1VHNmQzRBanRBLzBhbkhtZjUzS0NZZ1ZDVFIxZnJz?= =?utf-8?B?Q2xIQzNJbnhmNGRJM1N4R08zdGtkV2l4QWpYOW1taHdQbHFiM1IwaGEzR3Fz?= =?utf-8?B?cEwxUldXVXdRb0NzU2YrTG5LbkVhaDRGSnhhSWxYTzY2L2tVUnlnekZodGhF?= =?utf-8?B?YVlhM0hjejk3a2RXQVZkUTA0ekpJaS9odUJ3VFUvMnBwRnVFR05tUFFVVUk1?= =?utf-8?B?MVBlakVRN0NjUHJZNTcyWm5DSzE2QTBNRlljMEloeDFhUUpRbWZwemlvUEt6?= =?utf-8?Q?LKbUgJVSWa2WrVco=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5192.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1683fd41-a4e0-4111-4922-08da31a04906 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2022 09:42:51.5554 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MILVy5XGmhLsW6BhmaVCzxncnyBCaTcZhJO8YpgzCPu6BadXkvx7+EFJxDcTyjnvFQNVnGE1qNNGna85ygI9jZFRNO0Y+s4jmMI3e9d/lYY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1101MB2198 X-Proofpoint-GUID: vOMLQD5P21yB6KwNMVHD9zzQuelVz8K4 X-Proofpoint-ORIG-GUID: vOMLQD5P21yB6KwNMVHD9zzQuelVz8K4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.858,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-05-09_03,2022-05-09_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 mlxscore=0 malwarescore=0 clxscore=1011 bulkscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205090055 X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 1AE151A0083 X-Stat-Signature: 9c1mpceud7ggg13zo4icfnjurqsuesud Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=windriver.com header.s=PPS06212021 header.b="K03v/hgp"; spf=pass (imf19.hostedemail.com: domain of "prvs=2128951b04=xiongwei.song@windriver.com" designates 205.220.166.238 as permitted sender) smtp.mailfrom="prvs=2128951b04=xiongwei.song@windriver.com"; dmarc=pass (policy=none) header.from=windriver.com X-HE-Tag: 1652089382-881419 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: VGhhbmtzIE1hdHRoZXcgYW5kIEhzaW4tWWkuICBJIHdpbGwgdGVzdCB0aGUgcGF0Y2ggYnkgRU9E Lg0KDQpSZWdhcmRzLA0KWGlvbmd3ZWkNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IEhzaW4tWWkgV2FuZyA8aHNpbnlpQGNocm9taXVtLm9yZz4gDQpTZW50OiBNb25kYXksIE1h eSA5LCAyMDIyIDM6MTEgUE0NClRvOiBNYXR0aGV3IFdpbGNveCA8d2lsbHlAaW5mcmFkZWFkLm9y Zz4NCkNjOiBTb25nLCBYaW9uZ3dlaSA8WGlvbmd3ZWkuU29uZ0B3aW5kcml2ZXIuY29tPjsgcGhp bGxpcEBzcXVhc2hmcy5vcmcudWs7IGxpbnV4LW1tQGt2YWNrLm9yZzsgc3F1YXNoZnMtZGV2ZWxA bGlzdHMuc291cmNlZm9yZ2UubmV0DQpTdWJqZWN0OiBSZTogc3F1YXNoZnMgcGVyZm9ybWFuY2Ug cmVncmVzc2lvbiBhbmQgcmVhZGFoZWENCg0KW1BsZWFzZSBub3RlOiBUaGlzIGUtbWFpbCBpcyBm cm9tIGFuIEVYVEVSTkFMIGUtbWFpbCBhZGRyZXNzXQ0KDQpPbiBNb24sIE1heSA5LCAyMDIyIGF0 IDM6MDUgUE0gSHNpbi1ZaSBXYW5nIDxoc2lueWlAY2hyb21pdW0ub3JnPiB3cm90ZToNCj4NCj4g T24gTW9uLCBNYXkgOSwgMjAyMiBhdCAxMjo0NSBBTSBNYXR0aGV3IFdpbGNveCA8d2lsbHlAaW5m cmFkZWFkLm9yZz4gd3JvdGU6DQo+ID4NCj4gPiBPbiBTdW4sIE1heSAwOCwgMjAyMiBhdCAwMjo0 Njo0MFBNICswMDAwLCBTb25nLCBYaW9uZ3dlaSB3cm90ZToNCj4gPiA+IEkgYW0gZmFjaW5nIGEg cGVyZm9ybWFuY2UgcmVncmVzc2lvbiBvbiBzcXVhc2hmcy4gIFRoZXJlIGFyZSBtYW55IA0KPiA+ ID4gc3F1YXNoZnMgcGFydGl0aW9ucyBvbiBvdXIgYm9hcmQuIEkgYW0gZG9pbmcgdGhlIG9wZXJh dGlvbnMgYmVsb3cgDQo+ID4gPiBvbiA5MCBzcXVhc2hmcw0KPiA+ID4gcGFydGl0aW9uczoNCj4g Pg0KPiA+IEhpIFhpb25nd2VpLiAgVGhhbmtzIGZvciB0aGUgcmVwb3J0LiAgSHNpbi1ZZSBhbmQg SSBoYXZlIGJlZW4gDQo+ID4gd29ya2luZyBvbiB0aGlzIHByb2JsZW0gb2ZmLWxpc3QuICBIc2lu LVllLCBjb3VsZCB5b3Ugc2VuZCB0aGUgbGF0ZXN0IHZlcnNpb24/DQo+DQo+IEhpIE1hdHRoZXcs DQo+DQo+IFRoaXMgaXMgdGhlIHBhdGNoIG9mIHRoZSBsYXRlc3QgdmVyc2lvbi4gU2luY2UgaXQn cyBqdXN0IGJlaW5nIA0KPiByZXZpZXdlZCBoYWxmd2F5IGRvbmUsIEkgcG9zdGVkIHRoZSBwYXRj aCBoZXJlLCBvciBzaG91bGQgSSBzZW5kIGl0IHRvIA0KPiB0aGUgbGlzdCBkaXJlY3RseT8NCj4N ClRoZSBpbmRlbnQgc2VlbXMgYnJva2VuIHdoZW4gSSBwYXN0ZWQgaXQgaGVyZS4gUmVzZW5kIGlu IHRoZSBhdHRhY2htZW50Lg0KDQo+IFRoYW5rcw0KPg0KPiBGcm9tIDAzNTU4ZGNhYWI5M2VkM2Mz MjQ5OGViNzBjN2YyYjEzODJiMjE4ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQo+IEZyb206 IEhzaW4tWWkgV2FuZyA8aHNpbnlpQGNocm9taXVtLm9yZz4NCj4gRGF0ZTogU3VuLCAxMCBPY3Qg MjAyMSAyMToyMjoyNSArMDgwMA0KPiBTdWJqZWN0OiBbUEFUQ0hdIHNxdWFzaGZzOiBpbXBsZW1l bnQgcmVhZGFoZWFkDQo+DQo+IEltcGxlbWVudCByZWFkYWhlYWQgY2FsbGJhY2sgZm9yIHNxdWFz aGZzLiBJdCB3aWxsIHJlYWQgZGF0YWJsb2NrcyANCj4gd2hpY2ggY292ZXIgcGFnZXMgaW4gcmVh ZGFoZWFkIHJlcXVlc3QuIEZvciBhIGZldyBjYXNlcyBpdCB3aWxsIG5vdCANCj4gbWFyayBwYWdl IGFzIHVwdG9kYXRlLCBpbmNsdWRpbmc6DQo+IC0gZmlsZSBlbmQgaXMgMC4NCj4gLSBjdXJyZW50 IGJhdGNoIG9mIHBhZ2VzIGlzbid0IGluIHRoZSBzYW1lIGRhdGFibG9jayBvciBub3QgZW5vdWdo IGluIGENCj4gICBkYXRhYmxvY2suDQo+IE90aGVyd2lzZSBwYWdlcyB3aWxsIGJlIG1hcmtlZCBh cyB1cHRvZGF0ZS4gVGhlIHVuaGFuZGxlZCBwYWdlcyB3aWxsIA0KPiBiZSB1cGRhdGVkIGJ5IHJl YWRwYWdlIGxhdGVyLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBIc2luLVlpIFdhbmcgPGhzaW55aUBj aHJvbWl1bS5vcmc+DQo+IC0tLQ0KPiAgZnMvc3F1YXNoZnMvZmlsZS5jIHwgNzIgDQo+ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gIDEgZmlsZSBjaGFu Z2VkLCA3MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9m cy9zcXVhc2hmcy9maWxlLmMgYi9mcy9zcXVhc2hmcy9maWxlLmMgaW5kZXggDQo+IDg5ZDQ5Mjkx NmRlYS4uMjBlYzQ4Y2Y5N2M1IDEwMDY0NA0KPiAtLS0gYS9mcy9zcXVhc2hmcy9maWxlLmMNCj4g KysrIGIvZnMvc3F1YXNoZnMvZmlsZS5jDQo+IEBAIC0zOSw2ICszOSw3IEBADQo+ICAjaW5jbHVk ZSAic3F1YXNoZnNfZnNfc2IuaCINCj4gICNpbmNsdWRlICJzcXVhc2hmc19mc19pLmgiDQo+ICAj aW5jbHVkZSAic3F1YXNoZnMuaCINCj4gKyNpbmNsdWRlICJwYWdlX2FjdG9yLmgiDQo+DQo+ICAv Kg0KPiAgICogTG9jYXRlIGNhY2hlIHNsb3QgaW4gcmFuZ2UgW29mZnNldCwgaW5kZXhdIGZvciBz cGVjaWZpZWQgaW5vZGUuICANCj4gSWYgQEAgLTQ5NCw3ICs0OTUsNzYgQEAgc3RhdGljIGludCBz cXVhc2hmc19yZWFkcGFnZShzdHJ1Y3QgZmlsZSANCj4gKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdl KQ0KPiAgIHJldHVybiAwOw0KPiAgfQ0KPg0KPiArc3RhdGljIHZvaWQgc3F1YXNoZnNfcmVhZGFo ZWFkKHN0cnVjdCByZWFkYWhlYWRfY29udHJvbCAqcmFjdGwpIHsgIA0KPiArc3RydWN0IGlub2Rl ICppbm9kZSA9IHJhY3RsLT5tYXBwaW5nLT5ob3N0OyAgc3RydWN0IHNxdWFzaGZzX3NiX2luZm8g DQo+ICsqbXNibGsgPSBpbm9kZS0+aV9zYi0+c19mc19pbmZvOyAgc2l6ZV90IG1hc2sgPSAoMVVM IDw8IA0KPiArbXNibGstPmJsb2NrX2xvZykgLSAxOyAgc2l6ZV90IHNoaWZ0ID0gbXNibGstPmJs b2NrX2xvZyAtIFBBR0VfU0hJRlQ7ICANCj4gK2xvZmZfdCByZXFfZW5kID0gcmVhZGFoZWFkX3Bv cyhyYWN0bCkgKyByZWFkYWhlYWRfbGVuZ3RoKHJhY3RsKTsgIA0KPiArbG9mZl90IHN0YXJ0ID0g cmVhZGFoZWFkX3BvcyhyYWN0bCkgJn4gbWFzazsgIHNpemVfdCBsZW4gPSANCj4gK3JlYWRhaGVh ZF9sZW5ndGgocmFjdGwpICsgcmVhZGFoZWFkX3BvcyhyYWN0bCkgLSBzdGFydDsgIHN0cnVjdCAN Cj4gK3NxdWFzaGZzX3BhZ2VfYWN0b3IgKmFjdG9yOyAgdW5zaWduZWQgaW50IG5yX3BhZ2VzID0g MDsgIHN0cnVjdCBwYWdlIA0KPiArKipwYWdlczsNCj4gKyB1NjQgYmxvY2sgPSAwOw0KPiArIGlu dCBic2l6ZSwgcmVzLCBpLCBpbmRleDsNCj4gKyBpbnQgZmlsZV9lbmQgPSBpX3NpemVfcmVhZChp bm9kZSkgPj4gbXNibGstPmJsb2NrX2xvZzsgIGludCANCj4gK21heF9wYWdlcyA9IDFVTCA8PCBz aGlmdDsNCj4gKw0KPiArIHJlYWRhaGVhZF9leHBhbmQocmFjdGwsIHN0YXJ0LCAobGVuIHwgbWFz aykgKyAxKTsNCj4gKw0KPiArIGlmIChyZWFkYWhlYWRfcG9zKHJhY3RsKSArIHJlYWRhaGVhZF9s ZW5ndGgocmFjdGwpIDwgcmVxX2VuZCkgDQo+ICsgcmV0dXJuOw0KPiArDQo+ICsgbnJfcGFnZXMg PSByZWFkYWhlYWRfY291bnQocmFjdGwpOw0KPiArIHBhZ2VzID0ga21hbGxvY19hcnJheShucl9w YWdlcywgc2l6ZW9mKHZvaWQgKiksIEdGUF9LRVJORUwpOyBpZiANCj4gKyAoIXBhZ2VzKSByZXR1 cm47DQo+ICsNCj4gKyBhY3RvciA9IHNxdWFzaGZzX3BhZ2VfYWN0b3JfaW5pdF9zcGVjaWFsKHBh Z2VzLCBucl9wYWdlcywgMCk7IGlmIA0KPiArICghYWN0b3IpIGdvdG8gb3V0Ow0KPiArDQo+ICsg Zm9yICg7Oykgew0KPiArIG5yX3BhZ2VzID0gX19yZWFkYWhlYWRfYmF0Y2gocmFjdGwsIHBhZ2Vz LCBtYXhfcGFnZXMpOyBpZiANCj4gKyAoIW5yX3BhZ2VzKSBicmVhazsNCj4gKw0KPiArIGlmIChy ZWFkYWhlYWRfcG9zKHJhY3RsKSA+PSBpX3NpemVfcmVhZChpbm9kZSkgfHwNCj4gKyAgICAgZmls ZV9lbmQgPT0gMCB8fCBucl9wYWdlcyA8IG1heF9wYWdlcykgZ290byBza2lwX3BhZ2VzOw0KPiAr DQo+ICsgaW5kZXggPSBwYWdlc1swXS0+aW5kZXggPj4gc2hpZnQ7DQo+ICsgYnNpemUgPSByZWFk X2Jsb2NrbGlzdChpbm9kZSwgaW5kZXgsICZibG9jayk7IHJlcyA9IA0KPiArIHNxdWFzaGZzX3Jl YWRfZGF0YShpbm9kZS0+aV9zYiwgYmxvY2ssIGJzaXplLCBOVUxMLCBhY3Rvcik7DQo+ICsNCj4g KyBpZiAocmVzID49MCAmJiAocGFnZXNbbnJfcGFnZXMgLSAxXS0+aW5kZXggPj4gc2hpZnQpID09 IGluZGV4KSBmb3IgDQo+ICsgKGkgPSAwOyBpIDwgbnJfcGFnZXM7IGkrKykgU2V0UGFnZVVwdG9k YXRlKHBhZ2VzW2ldKTsNCj4gKw0KPiArIGZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgaSsrKSB7 DQo+ICsgdW5sb2NrX3BhZ2UocGFnZXNbaV0pOw0KPiArIHB1dF9wYWdlKHBhZ2VzW2ldKTsNCj4g KyB9DQo+ICsgfQ0KPiArDQo+ICsga2ZyZWUoYWN0b3IpOw0KPiArIHJldHVybjsNCj4gKw0KPiAr c2tpcF9wYWdlczoNCj4gKyBmb3IgKGkgPSAwOyBpIDwgbnJfcGFnZXM7IGkrKykgew0KPiArIHVu bG9ja19wYWdlKHBhZ2VzW2ldKTsNCj4gKyBwdXRfcGFnZShwYWdlc1tpXSk7DQo+ICsgfQ0KPiAr DQo+ICsga2ZyZWUoYWN0b3IpOw0KPiArb3V0Og0KPiArIGtmcmVlKHBhZ2VzKTsNCj4gK30NCj4N Cj4gIGNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgc3F1YXNoZnNfYW9wcyA9 IHsNCj4gLSAucmVhZHBhZ2UgPSBzcXVhc2hmc19yZWFkcGFnZQ0KPiArIC5yZWFkcGFnZSA9IHNx dWFzaGZzX3JlYWRwYWdlLA0KPiArIC5yZWFkYWhlYWQgPSBzcXVhc2hmc19yZWFkYWhlYWQNCj4g IH07DQo+IC0tDQo+IDIuMzEuMA0K