Received: by 2002:a05:7208:9594:b0:7e:5202:c8b4 with SMTP id gs20csp1049882rbb; Sun, 25 Feb 2024 17:22:50 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVyVXSkiiAMU4qdBbsJMd2BzbztbKfqdFNTnFY3gJiyKPN4AB1iTS53JaIr2H0rNKcmQ3Utj2LcFogumkNtZXMAx++lRd1vDSQmWTMgdA== X-Google-Smtp-Source: AGHT+IGhVQuMVkyMbodUN6sDGc7erfBvSul++gq6ze5XmbhtpQ62rKfhJ2Sm7kfkP6ISqj8yxiEr X-Received: by 2002:a17:902:7290:b0:1dc:9220:5cd with SMTP id d16-20020a170902729000b001dc922005cdmr3041135pll.42.1708910570322; Sun, 25 Feb 2024 17:22:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708910570; cv=pass; d=google.com; s=arc-20160816; b=lMRE7sktzEvuS0AuNkgaP6GR0IOe9U9zbR23LmbHfVTr+uuOzoDPgO841vlvK6TeJD ovQQfmCXnmz/KBUum1M4GJYcKlrkpP4968yekJa7fHqnGtfm4AIY08BjT0O7R5kx6jn+ NgGf5vNW9EO3qaqPdLAGEgycL0solA+h1m3VAohtBMYgcRl6pD9LHNun/34Log+OFiw0 e1uETtftG2LY7r3JeKjHtPSvzqA5675Wgrr2Uwz7hMq/ZwdapNV2HxUG7t/eTRLmOpbV aLT7T2u7hFwVCvhNwX5vI9XIjlhQh4f0x9RrpZAtJ1RmjyUCbfABpKjhw1DA9GGXLW92 VHnQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :references:message-id:date:thread-index:thread-topic:subject:cc:to :from; bh=ZyhQOxoT7odkOVHeIkfPmP/gcKRryidAWuWjm1mLjIg=; fh=TY/B008UXdCL1hVxEkF/zwTY97qoUxnEeNQwxW9FzYE=; b=ljUVhxvcbEJNxdbUzPASe16rDoobFz0I579AO0vX/zpdZwHSqtejtx/9Qcw+aje4DM Z030nDKuGcCN9yEhr1SLOJWk/EmZOTjU9RF1NquFX6Pf5di4d+Z3CLMHZtDirMsWU8bY q9/kBEo2+xjB8Viby/Zl98B1rFLXVQwVrarMJJs28tqsfiD65t96ycAYnrvgRYTxVJZs 6kSzVnAjKattrJbABxPCPbR7x1uZYTMVs9CMoTP8Z4FlrpGZbG9Q58mUVay5ocDI9+TV xtIq/YJin9amwvjCc+LVJogG/+1SwhGDrUnD0vHNKHj/Pp7YDRxajgkQ0DUfTQW3XJlr HzDQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-80373-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-80373-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id n7-20020a170902f60700b001dc41913e36si2813843plg.104.2024.02.25.17.22.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Feb 2024 17:22:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-80373-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-80373-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-80373-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 06C2128120E for ; Mon, 26 Feb 2024 01:22:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E7AF3DDBC; Mon, 26 Feb 2024 01:22:43 +0000 (UTC) Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3BE5D502 for ; Mon, 26 Feb 2024 01:22:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=222.66.158.135 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708910563; cv=none; b=TRHTjwhTdOQCsFjVo/5qpI3FHL6RcDzm0WXHBYU+RMcdeR1QcKGkeq2qDYEQ2YiyUNMfPZcr3CubzI+g654KXhmj6CXV7mkBtMtRea2uUWC/4YJgByHby8RZ7R/pEYmt5pqCwF9m+D4NhBKYi6o/u+AU+P9jgeybKtNZq6dOSYk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708910563; c=relaxed/simple; bh=ZyhQOxoT7odkOVHeIkfPmP/gcKRryidAWuWjm1mLjIg=; h=From:To:CC:Subject:Date:Message-ID:References:Content-Type: MIME-Version; b=SK5QbshHir5RUGZYaGorzYCGza2WXKfDhzm/T7DPgLJ8od6AYEbcVID3bEB3OJqITVt13t29BB3M7do9s22vqZCygEx2iPlVyvllZK+3REZrAcV3pTymoj/niCUtlH/Fem9J31VTwA6R/sUkefkpOblI7dLm92IUjnxROPn5O08= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com; spf=pass smtp.mailfrom=unisoc.com; arc=none smtp.client-ip=222.66.158.135 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 41Q1Ll8X099140; Mon, 26 Feb 2024 09:21:47 +0800 (+08) (envelope-from Zhiguo.Niu@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx01.spreadtrum.com [10.0.64.7]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4TjjVk36Wxz2KC597; Mon, 26 Feb 2024 09:21:02 +0800 (CST) Received: from BJMBX02.spreadtrum.com (10.0.64.8) by BJMBX01.spreadtrum.com (10.0.64.7) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Mon, 26 Feb 2024 09:21:45 +0800 Received: from BJMBX02.spreadtrum.com ([fe80::f022:2a7c:e5bc:aacd]) by BJMBX02.spreadtrum.com ([fe80::f022:2a7c:e5bc:aacd%19]) with mapi id 15.00.1497.023; Mon, 26 Feb 2024 09:21:45 +0800 From: =?utf-8?B?54mb5b+X5Zu9IChaaGlndW8gTml1KQ==?= To: "jaegeuk@kernel.org" CC: "linux-f2fs-devel@lists.sourceforge.net" , "linux-kernel@vger.kernel.org" , Chao Yu , "niuzhiguo84@gmail.com" , =?utf-8?B?6YeR57qi5a6HIChIb25neXUgSmluKQ==?= Subject: =?utf-8?B?562U5aSNOiBbUEFUQ0ggdjNdIGYyZnM6IHJlZHVjZSBleHBlbnNpdmUgY2hl?= =?utf-8?Q?ckpoint_trigger_frequency?= Thread-Topic: [PATCH v3] f2fs: reduce expensive checkpoint trigger frequency Thread-Index: AQHaRGbEIhIgX85RYE+VteQdj17287EQ+OwAgAshOiCAAAFCcA== Date: Mon, 26 Feb 2024 01:21:44 +0000 Message-ID: References: <20240111081743.2999210-1-chao@kernel.org> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MAIL:SHSQR01.spreadtrum.com 41Q1Ll8X099140 DQpIaSBKYWVnZXVrDQoNClNvcnJ5IGZvciBkaXN0dXJiaW5nIHlvdSwgRG8geW91IGhhdmUgYW55 IGNvbW1lbnRzIGFib3V0IHRoaXMgcGF0Y2ggZnJvbSBDaGFvLCBJ4oCZdmUgbWV0IHRoaXMgaXNz dWUgc2V2ZXJhbCB0aW1lcyBvbiBvdXIgcGxhdGZvcm0gd2hlbiBkbyBtb25rZXkgdGVzdC4NClRo YW5rcyENCg0KLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0K5Y+R5Lu25Lq6OiBDaGFvIFl1IDxjaGFv QGtlcm5lbC5vcmc+DQrlj5HpgIHml7bpl7Q6IDIwMjTlubQy5pyIMTnml6UgMTU6MTkNCuaUtuS7 tuS6ujogamFlZ2V1a0BrZXJuZWwub3JnDQrmioTpgIE6IGxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMu c291cmNlZm9yZ2UubmV0OyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyDniZvlv5flm70g KFpoaWd1byBOaXUpIDxaaGlndW8uTml1QHVuaXNvYy5jb20+DQrkuLvpopg6IFJlOiBbUEFUQ0gg djNdIGYyZnM6IHJlZHVjZSBleHBlbnNpdmUgY2hlY2twb2ludCB0cmlnZ2VyIGZyZXF1ZW5jeQ0K DQoNCuazqOaEjzog6L+Z5bCB6YKu5Lu25p2l6Ieq5LqO5aSW6YOo44CC6Zmk6Z2e5L2g56Gu5a6a 6YKu5Lu25YaF5a655a6J5YWo77yM5ZCm5YiZ5LiN6KaB54K55Ye75Lu75L2V6ZO+5o6l5ZKM6ZmE 5Lu244CCDQpDQVVUSU9OOiBUaGlzIGVtYWlsIG9yaWdpbmF0ZWQgZnJvbSBvdXRzaWRlIG9mIHRo ZSBvcmdhbml6YXRpb24uIERvIG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVu bGVzcyB5b3UgcmVjb2duaXplIHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRlbnQgaXMgc2Fm ZS4NCg0KDQoNCkphZWdldWssDQoNCkFueSBjb21tZW50cz8NCg0KT24gMjAyNC8xLzExIDE2OjE3 LCBDaGFvIFl1IHdyb3RlOg0KPiBXZSBtYXkgdHJpZ2dlciBoaWdoIGZyZXF1ZW50IGNoZWNrcG9p bnQgZm9yIGJlbG93IGNhc2U6DQo+IDEuIG1rZGlyIC9tbnQvZGlyMTsgc2V0IGRpcjEgZW5jcnlw dGVkIDIuIHRvdWNoIC9tbnQvZmlsZTE7IGZzeW5jIA0KPiAvbW50L2ZpbGUxIDMuIG1rZGlyIC9t bnQvZGlyMjsgc2V0IGRpcjIgZW5jcnlwdGVkIDQuIHRvdWNoIC9tbnQvZmlsZTI7IA0KPiBmc3lu YyAvbW50L2ZpbGUyIC4uLg0KPg0KPiBBbHRob3VnaCwgbmV3bHkgY3JlYXRlZCBkaXIgYW5kIGZp bGUgYXJlIG5vdCByZWxhdGVkLCBkdWUgdG8gY29tbWl0IA0KPiBiYmYxNTZmN2FmYTcgKCJmMmZz OiBmaXggbG9zdCB4YXR0cnMgb2YgZGlyZWN0b3JpZXMiKSwgd2Ugd2lsbCB0cmlnZ2VyIA0KPiBj aGVja3BvaW50IHdoZW5ldmVyIGZzeW5jKCkgY29tZXMgYWZ0ZXIgYSBuZXcgZW5jcnlwdGVkIGRp ciBjcmVhdGVkLg0KPg0KPiBJbiBvcmRlciB0byBhdm9pZCBzdWNoIGNvbmRpdGlvbiwgbGV0J3Mg cmVjb3JkIGFuIGVudHJ5IGluY2x1ZGluZyANCj4gZGlyZWN0b3J5J3MgaW5vIGludG8gZ2xvYmFs IGNhY2hlIHdoZW4gd2UgaW5pdGlhbGl6ZSBlbmNyeXB0aW9uIHBvbGljeSANCj4gaW4gYSBjaGVj a3BvaW50ZWQgZGlyZWN0b3J5LCBhbmQgdGhlbiBvbmx5IHRyaWdnZXIgY2hlY2twb2ludCgpIHdo ZW4gDQo+IHRhcmdldCBmaWxlJ3MgcGFyZW50IGhhcyBub24tcGVyc2lzdGVkIGVuY3J5cHRpb24g cG9saWN5LCBmb3IgdGhlIGNhc2UgDQo+IGl0cyBwYXJlbnQgaXMgbm90IGNoZWNrcG9pbnRlZCwg bmVlZF9kb19jaGVja3BvaW50KCkgaGFzIGNvdmVyIHRoYXQgYnkgDQo+IHZlcmlmeWluZyBpdCB3 aXRoIGYyZnNfaXNfY2hlY2twb2ludGVkX25vZGUoKS4NCj4NCj4gUmVwb3J0ZWQtYnk6IFpoaWd1 byBOaXUgPHpoaWd1by5uaXVAdW5pc29jLmNvbT4NCj4gVGVzdGVkLWJ5OiBaaGlndW8gTml1IDx6 aGlndW8ubml1QHVuaXNvYy5jb20+DQo+IFJlcG9ydGVkLWJ5OiBZdW5sZWkgSGUgPGhleXVubGVp QGhpaG9ub3IuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBDaGFvIFl1IDxjaGFvQGtlcm5lbC5vcmc+ DQo+IC0tLQ0KPiB2MzoNCj4gLSBSZWNlbnRseSwgWmhpZ3VvIE5pdSByZXBvcnRlZCB0aGUgc2Ft ZSBpc3N1ZSwgc28gSSByZXBvc3QgdGhpcyBwYXRjaCANCj4gZm9yIGNvbW1lbnRzLg0KPiAgIGZz L2YyZnMvZjJmcy5oICAgICAgICAgICAgICB8ICAyICsrDQo+ICAgZnMvZjJmcy9maWxlLmMgICAg ICAgICAgICAgIHwgIDMgKysrDQo+ICAgZnMvZjJmcy94YXR0ci5jICAgICAgICAgICAgIHwgMTYg KysrKysrKysrKysrKystLQ0KPiAgIGluY2x1ZGUvdHJhY2UvZXZlbnRzL2YyZnMuaCB8ICAzICsr LQ0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkN Cj4NCj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvZjJmcy5oIGIvZnMvZjJmcy9mMmZzLmggaW5kZXgg DQo+IGUyZTBjYTQ1Zjg4MS4uMDA5NGE4Yzg1ZjRhIDEwMDY0NA0KPiAtLS0gYS9mcy9mMmZzL2Yy ZnMuaA0KPiArKysgYi9mcy9mMmZzL2YyZnMuaA0KPiBAQCAtMjc5LDYgKzI3OSw3IEBAIGVudW0g ew0KPiAgICAgICBBUFBFTkRfSU5PLCAgICAgICAgICAgICAvKiBmb3IgYXBwZW5kIGlubyBsaXN0 ICovDQo+ICAgICAgIFVQREFURV9JTk8sICAgICAgICAgICAgIC8qIGZvciB1cGRhdGUgaW5vIGxp c3QgKi8NCj4gICAgICAgVFJBTlNfRElSX0lOTywgICAgICAgICAgLyogZm9yIHRyYW5zYWN0aW9u cyBkaXIgaW5vIGxpc3QgKi8NCj4gKyAgICAgRU5DX0RJUl9JTk8sICAgICAgICAgICAgLyogZm9y IGVuY3J5cHRlZCBkaXIgaW5vIGxpc3QgKi8NCj4gICAgICAgRkxVU0hfSU5PLCAgICAgICAgICAg ICAgLyogZm9yIG11bHRpcGxlIGRldmljZSBmbHVzaGluZyAqLw0KPiAgICAgICBNQVhfSU5PX0VO VFJZLCAgICAgICAgICAvKiBtYXguIGxpc3QgKi8NCj4gICB9Ow0KPiBAQCAtMTE0Nyw2ICsxMTQ4 LDcgQEAgZW51bSBjcF9yZWFzb25fdHlwZSB7DQo+ICAgICAgIENQX0ZBU1RCT09UX01PREUsDQo+ ICAgICAgIENQX1NQRUNfTE9HX05VTSwNCj4gICAgICAgQ1BfUkVDT1ZFUl9ESVIsDQo+ICsgICAg IENQX0VOQ19ESVIsDQo+ICAgfTsNCj4NCj4gICBlbnVtIGlvc3RhdF90eXBlIHsNCj4gZGlmZiAt LWdpdCBhL2ZzL2YyZnMvZmlsZS5jIGIvZnMvZjJmcy9maWxlLmMgaW5kZXggDQo+IDgxOThhZmI1 ZmI5Yy4uMThiMzNiMWYwYzgzIDEwMDY0NA0KPiAtLS0gYS9mcy9mMmZzL2ZpbGUuYw0KPiArKysg Yi9mcy9mMmZzL2ZpbGUuYw0KPiBAQCAtMjE4LDYgKzIxOCw5IEBAIHN0YXRpYyBpbmxpbmUgZW51 bSBjcF9yZWFzb25fdHlwZSBuZWVkX2RvX2NoZWNrcG9pbnQoc3RydWN0IGlub2RlICppbm9kZSkN Cj4gICAgICAgICAgICAgICBmMmZzX2V4aXN0X3dyaXR0ZW5fZGF0YShzYmksIEYyRlNfSShpbm9k ZSktPmlfcGlubywNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVFJBTlNfRElSX0lOTykpDQo+ICAgICAgICAgICAgICAgY3BfcmVhc29uID0g Q1BfUkVDT1ZFUl9ESVI7DQo+ICsgICAgIGVsc2UgaWYgKGYyZnNfZXhpc3Rfd3JpdHRlbl9kYXRh KHNiaSwgRjJGU19JKGlub2RlKS0+aV9waW5vLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkNfRElSX0lOTykpDQo+ICsgICAgICAgICAg ICAgY3BfcmVhc29uID0gQ1BfRU5DX0RJUjsNCj4NCj4gICAgICAgcmV0dXJuIGNwX3JlYXNvbjsN Cj4gICB9DQo+IGRpZmYgLS1naXQgYS9mcy9mMmZzL3hhdHRyLmMgYi9mcy9mMmZzL3hhdHRyLmMg aW5kZXggDQo+IGYyOTBmZTkzMjdjNC4uY2JkMWI4ODI5N2ZlIDEwMDY0NA0KPiAtLS0gYS9mcy9m MmZzL3hhdHRyLmMNCj4gKysrIGIvZnMvZjJmcy94YXR0ci5jDQo+IEBAIC02MjksNiArNjI5LDcg QEAgc3RhdGljIGludCBfX2YyZnNfc2V0eGF0dHIoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGlu ZGV4LA0KPiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9p ZCAqdmFsdWUsIHNpemVfdCBzaXplLA0KPiAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBh Z2UgKmlwYWdlLCBpbnQgZmxhZ3MpDQo+ICAgew0KPiArICAgICBzdHJ1Y3QgZjJmc19zYl9pbmZv ICpzYmkgPSBGMkZTX0lfU0IoaW5vZGUpOw0KPiAgICAgICBzdHJ1Y3QgZjJmc194YXR0cl9lbnRy eSAqaGVyZSwgKmxhc3Q7DQo+ICAgICAgIHZvaWQgKmJhc2VfYWRkciwgKmxhc3RfYmFzZV9hZGRy Ow0KPiAgICAgICBpbnQgZm91bmQsIG5ld3NpemU7DQo+IEBAIC03NzIsOCArNzczLDE5IEBAIHN0 YXRpYyBpbnQgX19mMmZzX3NldHhhdHRyKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBpbmRleCwN Cj4gICAgICAgaWYgKGluZGV4ID09IEYyRlNfWEFUVFJfSU5ERVhfRU5DUllQVElPTiAmJg0KPiAg ICAgICAgICAgICAgICAgICAgICAgIXN0cmNtcChuYW1lLCBGMkZTX1hBVFRSX05BTUVfRU5DUllQ VElPTl9DT05URVhUKSkNCj4gICAgICAgICAgICAgICBmMmZzX3NldF9lbmNyeXB0ZWRfaW5vZGUo aW5vZGUpOw0KPiAtICAgICBpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkNCj4gLSAgICAgICAg ICAgICBzZXRfc2JpX2ZsYWcoRjJGU19JX1NCKGlub2RlKSwgU0JJX05FRURfQ1ApOw0KPiArDQo+ ICsgICAgIGlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKSB7DQo+ICsgICAgICAgICAgICAgLyoN Cj4gKyAgICAgICAgICAgICAgKiBJbiByZXN0cmljdCBtb2RlLCBmc3luYygpIGFsd2F5cyB0cmll cyB0cmlnZ2VyaW5nIGNoZWNrcG9pbnQNCj4gKyAgICAgICAgICAgICAgKiBmb3IgYWxsIG1ldGFk YXRhIGNvbnNpc3RlbmN5LCBpbiBvdGhlciBtb2RlLCBpdCBvbmx5IHRyaWdnZXJzDQo+ICsgICAg ICAgICAgICAgICogY2hlY2twb2ludCB3aGVuIHBhcmVudCdzIGVuY3J5cHRpb24gbWV0YWRhdGEg dXBkYXRlcy4NCj4gKyAgICAgICAgICAgICAgKi8NCj4gKyAgICAgICAgICAgICBpZiAoRjJGU19P UFRJT04oc2JpKS5mc3luY19tb2RlID09IEZTWU5DX01PREVfU1RSSUNUKQ0KPiArICAgICAgICAg ICAgICAgICAgICAgc2V0X3NiaV9mbGFnKEYyRlNfSV9TQihpbm9kZSksIFNCSV9ORUVEX0NQKTsN Cj4gKyAgICAgICAgICAgICBlbHNlIGlmIChJU19FTkNSWVBURUQoaW5vZGUpICYmDQo+ICsgICAg ICAgICAgICAgICAgICAgICBmMmZzX2lzX2NoZWNrcG9pbnRlZF9ub2RlKHNiaSwgaW5vZGUtPmlf aW5vKSkNCj4gKyAgICAgICAgICAgICAgICAgICAgIGYyZnNfYWRkX2lub19lbnRyeShzYmksIGlu b2RlLT5pX2lubywgRU5DX0RJUl9JTk8pOw0KPiArICAgICB9DQo+DQo+ICAgc2FtZToNCj4gICAg ICAgaWYgKGlzX2lub2RlX2ZsYWdfc2V0KGlub2RlLCBGSV9BQ0xfTU9ERSkpIHsgZGlmZiAtLWdp dCANCj4gYS9pbmNsdWRlL3RyYWNlL2V2ZW50cy9mMmZzLmggYi9pbmNsdWRlL3RyYWNlL2V2ZW50 cy9mMmZzLmggaW5kZXggDQo+IDdlZDBmYzQzMGRjNi4uNDhmMmUzOTllMTg0IDEwMDY0NA0KPiAt LS0gYS9pbmNsdWRlL3RyYWNlL2V2ZW50cy9mMmZzLmgNCj4gKysrIGIvaW5jbHVkZS90cmFjZS9l dmVudHMvZjJmcy5oDQo+IEBAIC0xMzksNyArMTM5LDggQEAgVFJBQ0VfREVGSU5FX0VOVU0oRVhf QkxPQ0tfQUdFKTsNCj4gICAgICAgICAgICAgICB7IENQX05PREVfTkVFRF9DUCwgICAgICAibm9k ZSBuZWVkcyBjcCIgfSwgICAgICAgICAgICAgIFwNCj4gICAgICAgICAgICAgICB7IENQX0ZBU1RC T09UX01PREUsICAgICAiZmFzdGJvb3QgbW9kZSIgfSwgICAgICAgICAgICAgIFwNCj4gICAgICAg ICAgICAgICB7IENQX1NQRUNfTE9HX05VTSwgICAgICAibG9nIHR5cGUgaXMgMiIgfSwgICAgICAg ICAgICAgIFwNCj4gLSAgICAgICAgICAgICB7IENQX1JFQ09WRVJfRElSLCAgICAgICAiZGlyIG5l ZWRzIHJlY292ZXJ5IiB9KQ0KPiArICAgICAgICAgICAgIHsgQ1BfUkVDT1ZFUl9ESVIsICAgICAg ICJkaXIgbmVlZHMgcmVjb3ZlcnkiIH0sICAgICAgICAgXA0KPiArICAgICAgICAgICAgIHsgQ1Bf RU5DX0RJUiwgICAgICAgICAgICJwZXJzaXN0IGVuY3J5cHRpb24gcG9saWN5IiB9KQ0KPg0KPiAg ICNkZWZpbmUgc2hvd19zaHV0ZG93bl9tb2RlKHR5cGUpICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiAgICAgICBfX3ByaW50X3N5bWJvbGljKHR5cGUsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K