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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1545ECAAD3 for ; Fri, 9 Sep 2022 21:41:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229813AbiIIVl3 (ORCPT ); Fri, 9 Sep 2022 17:41:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35356 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230447AbiIIVlU (ORCPT ); Fri, 9 Sep 2022 17:41:20 -0400 Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [IPv6:2607:f8b0:4864:20::72a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E45B5139C00 for ; Fri, 9 Sep 2022 14:41:13 -0700 (PDT) Received: by mail-qk1-x72a.google.com with SMTP id s22so2204271qkj.3 for ; Fri, 09 Sep 2022 14:41:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:subject:message-id:from:from:to:cc:subject :date; bh=sctweKmgoSeIQ3uwRCIrpRpcGnukWzMAc1m701GKgb8=; b=L7nFXupwTDcDtQTC8xDYcYkJ/veCzPIb6W0W+UJiWj03reaNrJC2u7Ju8zdqTppPzg LL4UIUSLNfE/GukDZu4LWh2mLPOCNancZQDE8uV+JCj/xX8rVHJyxhH1o/+OKuAunWus GNY3SaqA8tKCCDMazDib8yDE2VK4sUblUGX4Sw35a72R1DlqD3d4ffIF+yPW7+ocewzo KFY4sNS3gtiVSOvpPGGeZS3/9lY7iTDPKmlLoOg+eGOz2RVd9p1kPTuRSKS+jFTk3vuX EfaRIde8jE3tviTUf+NJi9y5DrVhEehoPIiD+617tFsG49F3rxzkLefa2JAOWakgkQSf iGnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:subject:message-id:from:x-gm-message-state :from:to:cc:subject:date; bh=sctweKmgoSeIQ3uwRCIrpRpcGnukWzMAc1m701GKgb8=; b=ibt7DWG3n4bpCkbAt6lAH10mmZNhrLXBdiIH9x1Suekj+SpUx/s0dAPqFi/wnHbbew 0Nq0AXJltBE0tdxF8y4hHcF4gkpkTm5SEGiqpf3x8sV5xevLWSQiywgQL/CSZlUP68uO Vlq1QS0CF6AUuAN2GpYcma5+Hu5rlM3uLl0THkUx9Hf9fE4fEDTASF621FThYlmNBzyq kCwvtERZ8w1GPg4ydXvFpROwLEJ6ldZb5RGb+bnJkbiGnDcPWRHKV3PCihN9f4dqUqMb LXkoBmnAmNc2huEJy1U1xTXJhv7CACpezU/PLBMQB3eUzgedEY6JoWJFtBiIdu3fg38m Dn+Q== X-Gm-Message-State: ACgBeo33MmdD2ZHNFCWnaIZliJVtiUtrtlBoqGY856TCoPrhbuifq4cf wfis3HUDZ4vMn3YU6m4ZGJk= X-Google-Smtp-Source: AA6agR6v8TeFNa+C6ZFwI2P4FDJK7VndLsWsZicbfViSgTJk0oHvN2rvAAFmkPEYNL1+Rx4IvXD9sQ== X-Received: by 2002:ae9:e30f:0:b0:6bb:868:c7d8 with SMTP id v15-20020ae9e30f000000b006bb0868c7d8mr11684490qkf.25.1662759672926; Fri, 09 Sep 2022 14:41:12 -0700 (PDT) Received: from concerto.internal ([38.15.45.1]) by smtp.googlemail.com with ESMTPSA id e7-20020ac84907000000b0031ed3d79556sm1143621qtq.53.2022.09.09.14.41.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Sep 2022 14:41:12 -0700 (PDT) From: Khalid Aziz X-Google-Original-From: Khalid Aziz Message-ID: Subject: Re: [PATCH -next v3 2/2] mm: sysctl: Introduce per zone watermark_scale_factor To: Wupeng Ma Cc: akpm@linux-foundation.org, david@redhat.com, npiggin@suse.de, ying.huang@intel.com, hannes@cmpxchg.org, corbet@lwn.net, mcgrof@kernel.org, mgorman@suse.de, keescook@chromium.org, yzaikin@google.com, songmuchun@bytedance.com, mike.kravetz@oracle.com, osalvador@suse.de, surenb@google.com, rppt@kernel.org, charante@codeaurora.org, jsavitz@redhat.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel test robot Date: Fri, 09 Sep 2022 15:41:10 -0600 In-Reply-To: <20220905032858.1462927-3-mawupeng1@huawei.com> References: <20220905032858.1462927-1-mawupeng1@huawei.com> <20220905032858.1462927-3-mawupeng1@huawei.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.44.1-0ubuntu1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gTW9uLCAyMDIyLTA5LTA1IGF0IDExOjI4ICswODAwLCBXdXBlbmcgTWEgd3JvdGU6Cj4gRnJv bTogTWEgV3VwZW5nIDxtYXd1cGVuZzFAaHVhd2VpLmNvbT4KPiAKPiBTeXN0ZW0gbWF5IGhhdmUg bGl0dGxlIG5vcm1hbCB6b25lIG1lbW9yeSBhbmQgaHVnZSBtb3ZhYmxlIG1lbW9yeSBpbgo+IHRo ZQo+IGZvbGxvd2luZyBzaXR1YXRpb25zOgo+IMKgIC0gZm9yIHN5c3RlbSB3aXRoIGtlcm5lbGNv cmU9bm4lIG9yIGtlcm5lbGNvcmU9bWlycm9yLCBtb3ZhYmxlIHpvbmUKPiB3aWxsCj4gwqAgYmUg YWRkZWQgYW5kIG1vdmFibGUgem9uZSBpcyBiaWdnZXIgdGhhbiBub3JtYWwgem9uZSBpbiBtb3N0 IGNhc2VzLgo+IMKgIC0gc3lzdGVtIHdpdGggbW92YWJsZSBub2RlcywgdGhleSB3aWxsIGhhdmUg bXVsdGlwbGUgbnVtYSBub2Rlcwo+IHdpdGgKPiDCoCBvbmx5IG1vdmFibGUgem9uZSBhbmQgbW92 YWJsZSB6b25lIHdpbGwgaGF2ZSBwbGVudHkgb2YgbWVtb3J5Lgo+IAo+IFNpbmNlIGtlcm5lbC9k cml2ZXIgY2FuIG9ubHkgdXNlIG1lbW9yeSBmcm9tIG5vbi1tb3ZhYmxlIHpvbmUgaW4gbW9zdAo+ IGNhc2VzLCBub3JtYWwgem9uZSBuZWVkIHRvIGluY3JlYXNlIGl0cyB3YXRlcm1hcmsgdG8gcmVz ZXJ2ZSBtb3JlCj4gbWVtb3J5Lgo+IAo+IEhvd2V2ZXIsIGN1cnJlbnQgd2F0ZXJtYXJrX3NjYWxl X2ZhY3RvciBpcyB1c2VkIHRvIGNvbnRyb2wgYWxsIHpvbmVzCj4gYXQgb25jZSBhbmQgY2FuJ3Qg YmUgc2V0IHNlcGFyYXRlbHkuIFRvIHJlc2VydmUgbWVtb3J5IGluIG5vbi1tb3ZhYmxlCj4gem9u ZXMsIHRoZSB3YXRlcm1hcmsgaXMgaW5jcmVhc2VkIGluIG1vdmFibGUgem9uZXMgYXMgd2VsbC4g V2hpY2gKPiB3aWxsCj4gbGVhZCB0byBpbmVmZmljaWVudCBrc3dhcGQuCgpTaW1pbGFyIGlzc3Vl cyBoYXBwZW4gb24gc3lzdGVtcyB3aXRoIGxhcmdlIGFtb3VudCBvZiBtZW1vcnkgKDEgVEIgb3IK bW9yZSkuIE1vc3Qgb2YgdGhlIG1lbW9yeSBlbmRzIHVwIGluIE5vcm1hbCB6b25lIHdoaWxlIERN QSBhbmQgRE1BMzIKem9uZXMgaGF2ZSB2ZXJ5IGxpdHRsZSBtZW1vcnkuIEZvciB0aGUgd2F0ZXJt YXJrIHNjYWxlIGZhY3RvciB0aGF0CnJlc3VsdHMgaW4gYSByZWFzb25hYmxlIGxvdyB3YXRlcm1h cmsgZm9yIE5vcm1hbCB6b25lLCBsb3cgd2F0ZXJtYXJrCmNhbiBiZSB0b28gbG93IGZvciBETUEg YW5kIERNQTMyIHpvbmVzLiBCZWluZyBhYmxlIHRvIHR1bmUgdGhvc2UKd2F0ZXJtYXJrcyBpbmRl cGVuZGVudGx5IGNhbiBiZSBoZWxwZnVsLiBUaGUgdHJvdWJsZSB3aXRoIHRoaXMgYXBwcm9hY2gK aXMgaXQgaW50cm9kdWNlcyBhbm90aGVyIGxldmVsIG9mIGNvbXBsZXhpdHkgdG8gdHVuaW5nIGtu b2JzIHdpdGggbm8KY2xlYXIgZ3VpZGVsaW5lcyBmb3Igc3lzdGVtIGFkbWlucyBvbiBob3cgdG8g dHVuZSB0aGVzZS4gSSBhbHJlYWR5IHNlZQptdWx0aXBsZSBjdXN0b21lcnMgc3RydWdnbGluZyB3 aXRoIHNldHRpbmcgc2ltcGxlIG1pbl9mcmVlX2tieXRlcyBvcgp3YXRlcm1hcmtfc2NhbGVfZmFj dG9yLiBPbmNlIHdlIGFkZCB0aGUgY29tcGxleGl0eSBvZiBwZXIgem9uZQp3YXRlcm1hcmsgc2Nh bGUgZmFjdG9yLCBpdCBvbmx5IGdldHMgdG8gYmUgYSBtb3JlIGRhdW50aW5nIHRhc2sgZm9yCnN5 c3RlbSBhZG1pbnMuIE5VTUEgc3lzdGVtcyB3aXRoIG11bHRpcGxlIG5vZGVzIHdpdGggaG90LXBs dWdnYWJsZQptZW1vcnkgY2FuIGhhdmUgc2l6ZWFibGUgbnVtYmVyIG9mIHpvbmVzLgoKSSBzZWUg dGhlIHVzZWZ1bG5lc3Mgb2YgcGVyLXpvbmUgd2F0ZXJtYXJrIGJ1dCB3aGF0IGd1aWRhbmNlIHdv dWxkIHlvdQpnaXZlIHRvIGEgc3lzYWRtaW4gb24gaG93IHRvIHNldCB0aGVzZSB2YWx1ZXMgZm9y IHRoZWlyIHN5c3RlbXM/CgpUaGFua3MsCktoYWxpZAoKCj4gCj4gVG8gc29sdmUgdGhpcyBwcm9i bGVtLCBwZXIgem9uZSB3YXRlcm1hcmsgaXMgaW50cm9kdWNlZCB0byB0dW5lIGVhY2gKPiB6b25l J3MKPiB3YXRlcm1hcmsgc2VwYXJhdGVseS4gVGhpcyBjYW4gYnJpbmcgdGhlIGZvbGxvd2luZyBh ZHZhbnRhZ2VzOgo+IMKgIC0gZWFjaCB6b25lIGNhbiBzZXQgaXRzIG93biB3YXRlcm1hcmsgd2hp Y2ggYnJpbmcgZmxleGliaWxpdHkKPiDCoCAtIGxlYWQgdG8gbW9yZSBlZmZpY2llbnQga3N3YXBk IGlmIHRoaXMgd2F0ZXJtYXJrIGlzIHNldCBmaW5lCj4gCj4gSGVyZSBpcyByZWFsIHdhdGVybWFy ayBkYXRhIGluIG15IHFlbXUgbWFjaGluZSh3aXRoIFRIUCBkaXNhYmxlZCkuCj4gCj4gV2l0aCB3 YXRlcm1hcmtfc2NhbGVfZmFjdG9yID0gMTAsIHRoZXJlIGlzIG9ubHkgMTQ0MCg3NzItNjgrODA3 LTcxKQo+IHBhZ2VzKDUuNzZNKSByZXNlcnZlZCBmb3IgYSBzeXN0ZW0gd2l0aCA5Nkcgb2YgbWVt b3J5LiBIb3dldmVyIGlmIHRoZQo+IHdhdGVybWFyayBpcyBzZXQgdG8gMTAwLCB0aGUgbW92YWJs ZSB6b25lJ3Mgd2F0ZXJtYXJrIGluY3JlYXNlZCB0bwo+IDIzMTkwOCg5M00pLCB3aGljaCBpcyB0 b28gbXVjaC4KPiBUaGlzIHNpdHVhdGlvbiBpcyBldmVuIHdvcnNlIHdpdGggMzJHIG9mIG5vcm1h bCB6b25lIG1lbW9yeSBhbmQgMVQgb2YKPiBtb3ZhYmxlIHpvbmUgbWVtb3J5Lgo+IAo+IMKgwqDC oMKgwqDCoCBNb2RpZmllZMKgwqDCoMKgwqDCoMKgIHwgVmFuaWxsYSB3bV9mYWN0b3IgPSAxMCB8 IFZhbmlsbGEgd21fZmFjdG9yID0KPiAzMAo+IE5vZGUgMCwgem9uZcKgwqDCoMKgwqAgRE1BwqAg fCBOb2RlIDAsIHpvbmXCoMKgwqDCoMKgIERNQcKgIHwgTm9kZSAwLCB6b25lwqDCoMKgwqDCoAo+ IERNQQo+IMKgwqDCoMKgwqDCoMKgIG1pbsKgwqDCoMKgwqAgNjjCoMKgwqAgfMKgwqDCoMKgwqDC oMKgwqAgbWluwqDCoMKgwqDCoCA2OMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoCBtaW7CoMKgwqDC oMKgIDY4Cj4gwqDCoMKgwqDCoMKgwqAgbG93wqDCoMKgwqDCoCA3MTEzwqAgfMKgwqDCoMKgwqDC oMKgwqAgbG93wqDCoMKgwqDCoCA3NzLCoMKgIHzCoMKgwqDCoMKgwqDCoMKgIGxvd8KgwqDCoMKg wqAKPiA3MTEzCj4gwqDCoMKgwqDCoMKgwqAgaGlnaCAqKjE0MTU4KiogfMKgwqDCoMKgwqDCoMKg wqAgaGlnaCAqKjE0NzYqKsKgIHzCoMKgwqDCoMKgwqDCoMKgIGhpZ2gKPiAqKjE0MTU4KioKPiBO b2RlIDAsIHpvbmXCoMKgIE5vcm1hbMKgIHwgTm9kZSAwLCB6b25lwqDCoCBOb3JtYWzCoCB8IE5v ZGUgMCwgem9uZcKgwqAKPiBOb3JtYWwKPiDCoMKgwqDCoMKgwqDCoCBtaW7CoMKgwqDCoMKgIDcx wqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgIG1pbsKgwqDCoMKgwqAgNzHCoMKgwqAgfMKgwqDCoMKg wqDCoMKgwqAgbWluwqDCoMKgwqDCoCA3MQo+IMKgwqDCoMKgwqDCoMKgIGxvd8KgwqDCoMKgwqAg NzQzOMKgIHzCoMKgwqDCoMKgwqDCoMKgIGxvd8KgwqDCoMKgwqAgODA3wqDCoCB8wqDCoMKgwqDC oMKgwqDCoCBsb3fCoMKgwqDCoMKgCj4gNzQzOAo+IMKgwqDCoMKgwqDCoMKgIGhpZ2jCoMKgwqDC oCAxNDgwNSB8wqDCoMKgwqDCoMKgwqDCoCBoaWdowqDCoMKgwqAgMTU0M8KgIHzCoMKgwqDCoMKg wqDCoMKgIGhpZ2jCoMKgwqDCoAo+IDE0ODA1Cj4gTm9kZSAwLCB6b25lwqAgTW92YWJsZcKgIHwg Tm9kZSAwLCB6b25lwqAgTW92YWJsZcKgIHwgTm9kZSAwLCB6b25lwqAKPiBNb3ZhYmxlCj4gwqDC oMKgwqDCoMKgwqAgbWluwqDCoMKgwqDCoCAxNDU1wqAgfMKgwqDCoMKgwqDCoMKgwqAgbWluwqDC oMKgwqDCoCAxNDU1wqAgfMKgwqDCoMKgwqDCoMKgwqAgbWluwqDCoMKgwqDCoAo+IDE0NTUKPiDC oMKgwqDCoMKgwqDCoCBsb3fCoMKgwqDCoMKgIDE2Mzg4IHzCoMKgwqDCoMKgwqDCoMKgIGxvd8Kg wqDCoMKgwqAgMTYzODYgfMKgwqDCoMKgwqDCoMKgwqAgbG93wqDCoMKgwqDCoAo+IDE1MDc4Nwo+ IMKgwqDCoMKgwqDCoMKgIGhpZ2ggKiozMTMyMSoqIHzCoMKgwqDCoMKgwqDCoMKgIGhpZ2ggKioz MTMxNyoqIHzCoMKgwqDCoMKgwqDCoMKgIGhpZ2gKPiAqKjMwMDExOSoqCj4gTm9kZSAxLCB6b25l wqAgTW92YWJsZcKgIHwgTm9kZSAxLCB6b25lwqAgTW92YWJsZcKgIHwgTm9kZSAxLCB6b25lwqAK PiBNb3ZhYmxlCj4gwqDCoMKgwqDCoMKgwqAgbWluwqDCoMKgwqDCoCA4MDTCoMKgIHzCoMKgwqDC oMKgwqDCoMKgIG1pbsKgwqDCoMKgwqAgODA0wqDCoCB8wqDCoMKgwqDCoMKgwqDCoCBtaW7CoMKg wqDCoMKgCj4gODA0Cj4gwqDCoMKgwqDCoMKgwqAgbG93wqDCoMKgwqDCoCA5MDYxwqAgfMKgwqDC oMKgwqDCoMKgwqAgbG93wqDCoMKgwqDCoCA5MDYxwqAgfMKgwqDCoMKgwqDCoMKgwqAgbG93wqDC oMKgwqDCoAo+IDgzMzc5Cj4gwqDCoMKgwqDCoMKgwqAgaGlnaCAqKjE3MzE4KiogfMKgwqDCoMKg wqDCoMKgwqAgaGlnaCAqKjE3MzE4KiogfMKgwqDCoMKgwqDCoMKgwqAgaGlnaAo+ICoqMTY1OTU0 KioKPiAKPiBXaXRoIHRoZSBtb2RpZmllZCBwZXIgem9uZSB3YXRlcm1hcmtfc2NhbGVfZmFjdG9y LCBvbmx5IGRtYS9ub3JtYWwKPiB6b25lCj4gd2lsbCBpbmNyZWFzZSBpdHMgd2F0ZXJtYXJrIHZp YSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgd2hpY2ggdGhlIGh1Z2UKPiBtb3ZhYmxlIHpvbmUgc3Rh eSB0aGUgc2FtZS4KPiAKPiDCoCAlIGVjaG8gMTAwIDEwMCAxMDAgMTAgPiAvcHJvYy9zeXMvdm0v d2F0ZXJtYXJrX3NjYWxlX2ZhY3Rvcgo+IAo+IFRoZSByZWFzb24gdG8gZGlzYWJsZSBUSFAgaXMg a2h1Z2VwYWdlZF9taW5fZnJlZV9rYnl0ZXNfdXBkYXRlKCkgd2lsbAo+IHVwZGF0ZSBtaW4gd2F0 ZXJtYXJrLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hIFd1cGVuZyA8bWF3dXBlbmcxQGh1YXdlaS5j b20+Cj4gUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPgo+IC0t LQo+IMKgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9zeXNjdGwvdm0ucnN0IHzCoCA2ICsrKysK PiDCoGluY2x1ZGUvbGludXgvbW0uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMiArLQo+IMKga2VybmVsL3N5c2N0bC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyIC0tCj4gwqBtbS9wYWdlX2FsbG9jLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzNyArKysr KysrKysrKysrKysrKysrKy0tLQo+IC0tCj4gwqA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDEwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Fk bWluLWd1aWRlL3N5c2N0bC92bS5yc3QKPiBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvc3lz Y3RsL3ZtLnJzdAo+IGluZGV4IDliODMzZTQzOWYwOS4uZWMyNDBhYTQ1MzIyIDEwMDY0NAo+IC0t LSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvc3lzY3RsL3ZtLnJzdAo+ICsrKyBiL0RvY3Vt ZW50YXRpb24vYWRtaW4tZ3VpZGUvc3lzY3RsL3ZtLnJzdAo+IEBAIC0xMDAyLDYgKzEwMDIsMTIg QEAgdGhhdCB0aGUgbnVtYmVyIG9mIGZyZWUgcGFnZXMga3N3YXBkIG1haW50YWlucwo+IGZvciBs YXRlbmN5IHJlYXNvbnMgaXMKPiDCoHRvbyBzbWFsbCBmb3IgdGhlIGFsbG9jYXRpb24gYnVyc3Rz IG9jY3VycmluZyBpbiB0aGUgc3lzdGVtLiBUaGlzCj4ga25vYgo+IMKgY2FuIHRoZW4gYmUgdXNl ZCB0byB0dW5lIGtzd2FwZCBhZ2dyZXNzaXZlbmVzcyBhY2NvcmRpbmdseS4KPiDCoAo+ICtUaGUg d2F0ZXJtYXJrX3NjYWxlX2ZhY3RvciBpcyBhbiBhcnJheS4gWW91IGNhbiBzZXQgZWFjaCB6b25l J3MKPiB3YXRlcm1hcmsKPiArc2VwYXJhdGVseSBhbmQgY2FuIGJlIHNlZW4gYnkgcmVhZGluZyB0 aGlzIGZpbGU6Ogo+ICsKPiArwqDCoMKgwqDCoMKgwqAlIGNhdCAvcHJvYy9zeXMvdm0vd2F0ZXJt YXJrX3NjYWxlX2ZhY3Rvcgo+ICvCoMKgwqDCoMKgwqDCoDEwwqDCoMKgwqDCoMKgMTDCoMKgwqDC oMKgwqAxMMKgwqDCoMKgwqDCoDEwCj4gKwo+IMKgCj4gwqB6b25lX3JlY2xhaW1fbW9kZQo+IMKg PT09PT09PT09PT09PT09PT0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbS5oIGIvaW5j bHVkZS9saW51eC9tbS5oCj4gaW5kZXggMjFmOGIyN2JkOWZkLi5iMjkxYzc5NWY5ZGIgMTAwNjQ0 Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9tbS5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9tbS5oCj4g QEAgLTI1MzIsNyArMjUzMiw3IEBAIGV4dGVybiB2b2lkIHNldHVwX3Blcl9jcHVfcGFnZXNldCh2 b2lkKTsKPiDCoC8qIHBhZ2VfYWxsb2MuYyAqLwo+IMKgZXh0ZXJuIGludCBtaW5fZnJlZV9rYnl0 ZXM7Cj4gwqBleHRlcm4gaW50IHdhdGVybWFya19ib29zdF9mYWN0b3I7Cj4gLWV4dGVybiBpbnQg d2F0ZXJtYXJrX3NjYWxlX2ZhY3RvcjsKPiArZXh0ZXJuIGludCB3YXRlcm1hcmtfc2NhbGVfZmFj dG9yW01BWF9OUl9aT05FU107Cj4gwqBleHRlcm4gYm9vbCBhcmNoX2hhc19kZXNjZW5kaW5nX21h eF96b25lX3BmbnModm9pZCk7Cj4gwqAKPiDCoC8qIG5vbW11LmMgKi8KPiBkaWZmIC0tZ2l0IGEv a2VybmVsL3N5c2N0bC5jIGIva2VybmVsL3N5c2N0bC5jCj4gaW5kZXggMjA1ZDYwNWNhY2M1Li5k MTZkMDZjNzFlNWEgMTAwNjQ0Cj4gLS0tIGEva2VybmVsL3N5c2N0bC5jCj4gKysrIGIva2VybmVs L3N5c2N0bC5jCj4gQEAgLTIyNTEsOCArMjI1MSw2IEBAIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxl IHZtX3RhYmxlW10gPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubWF4bGVu wqDCoMKgwqDCoMKgwqDCoMKgPSBzaXplb2Yod2F0ZXJtYXJrX3NjYWxlX2ZhY3RvciksCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubW9kZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqA9 IDA2NDQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucHJvY19oYW5kbGVywqDC oMKgPQo+IHdhdGVybWFya19zY2FsZV9mYWN0b3Jfc3lzY3RsX2hhbmRsZXIsCj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5leHRyYTHCoMKgwqDCoMKgwqDCoMKgwqA9IFNZU0NUTF9P TkUsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5leHRyYTLCoMKgwqDCoMKgwqDC oMKgwqA9IFNZU0NUTF9USFJFRV9USE9VU0FORCwKPiDCoMKgwqDCoMKgwqDCoMKgfSwKPiDCoMKg wqDCoMKgwqDCoMKgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLnByb2NuYW1l wqDCoMKgwqDCoMKgwqA9ICJwZXJjcHVfcGFnZWxpc3RfaGlnaF9mcmFjdGlvbiIsCj4gZGlmZiAt LWdpdCBhL21tL3BhZ2VfYWxsb2MuYyBiL21tL3BhZ2VfYWxsb2MuYwo+IGluZGV4IGYxZTQ0NzQ4 NzlmMS4uN2E2YWMzYjRlYmI2IDEwMDY0NAo+IC0tLSBhL21tL3BhZ2VfYWxsb2MuYwo+ICsrKyBi L21tL3BhZ2VfYWxsb2MuYwo+IEBAIC00MjEsNyArNDIxLDYgQEAgY29tcG91bmRfcGFnZV9kdG9y ICogY29uc3QKPiBjb21wb3VuZF9wYWdlX2R0b3JzW05SX0NPTVBPVU5EX0RUT1JTXSA9IHsKPiDC oGludCBtaW5fZnJlZV9rYnl0ZXMgPSAxMDI0Owo+IMKgaW50IHVzZXJfbWluX2ZyZWVfa2J5dGVz ID0gLTE7Cj4gwqBpbnQgd2F0ZXJtYXJrX2Jvb3N0X2ZhY3RvciBfX3JlYWRfbW9zdGx5ID0gMTUw MDA7Cj4gLWludCB3YXRlcm1hcmtfc2NhbGVfZmFjdG9yID0gMTA7Cj4gwqAKPiDCoHN0YXRpYyB1 bnNpZ25lZCBsb25nIG5yX2tlcm5lbF9wYWdlcyBfX2luaXRkYXRhOwo+IMKgc3RhdGljIHVuc2ln bmVkIGxvbmcgbnJfYWxsX3BhZ2VzIF9faW5pdGRhdGE7Cj4gQEAgLTQ0OSw2ICs0NDgsMjAgQEAg RVhQT1JUX1NZTUJPTChucl9vbmxpbmVfbm9kZXMpOwo+IMKgCj4gwqBpbnQgcGFnZV9ncm91cF9i eV9tb2JpbGl0eV9kaXNhYmxlZCBfX3JlYWRfbW9zdGx5Owo+IMKgCj4gK2ludCB3YXRlcm1hcmtf c2NhbGVfZmFjdG9yW01BWF9OUl9aT05FU10gPSB7Cj4gKyNpZmRlZiBDT05GSUdfWk9ORV9ETUEK PiArwqDCoMKgwqDCoMKgwqBbWk9ORV9ETUFdID0gMTAsCj4gKyNlbmRpZgo+ICsjaWZkZWYgQ09O RklHX1pPTkVfRE1BMzIKPiArwqDCoMKgwqDCoMKgwqBbWk9ORV9ETUEzMl0gPSAxMCwKPiArI2Vu ZGlmCj4gK8KgwqDCoMKgwqDCoMKgW1pPTkVfTk9STUFMXSA9IDEwLAo+ICsjaWZkZWYgQ09ORklH X0hJR0hNRU0KPiArwqDCoMKgwqDCoMKgwqBbWk9ORV9ISUdITUVNXSA9IDEwLAo+ICsjZW5kaWYK PiArwqDCoMKgwqDCoMKgwqBbWk9ORV9NT1ZBQkxFXSA9IDEwLAo+ICt9Owo+ICsKPiDCoCNpZmRl ZiBDT05GSUdfREVGRVJSRURfU1RSVUNUX1BBR0VfSU5JVAo+IMKgLyoKPiDCoCAqIER1cmluZyBi b290IHdlIGluaXRpYWxpemUgZGVmZXJyZWQgcGFnZXMgb24tZGVtYW5kLCBhcyBuZWVkZWQsCj4g YnV0IG9uY2UKPiBAQCAtODY0Myw2ICs4NjU2LDcgQEAgc3RhdGljIHZvaWQgX19zZXR1cF9wZXJf em9uZV93bWFya3Modm9pZCkKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoGZvcl9lYWNoX3pvbmUoem9uZSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBpbnQgem9uZV93bV9mYWN0b3I7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1 NjQgdG1wOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzcGluX2xvY2tf aXJxc2F2ZSgmem9uZS0+bG9jaywgZmxhZ3MpOwo+IEBAIC04Njc2LDkgKzg2OTAsMTAgQEAgc3Rh dGljIHZvaWQgX19zZXR1cF9wZXJfem9uZV93bWFya3Modm9pZCkKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAqIHNjYWxlIGZhY3RvciBpbiBwcm9wb3J0aW9uIHRvIGF2YWlsYWJs ZSBtZW1vcnksCj4gYnV0Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBlbnN1 cmUgYSBtaW5pbXVtIHNpemUgb24gc21hbGwgc3lzdGVtcy4KPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqLwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6b25lX3dt X2ZhY3RvciA9Cj4gd2F0ZXJtYXJrX3NjYWxlX2ZhY3Rvclt6b25lX2lkeCh6b25lKV07Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0bXAgPSBtYXhfdCh1NjQsIHRtcCA+PiAyLAo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG11 bHRfZnJhYyh6b25lX21hbmFnZWRfcGFnZXMoem9uZSksCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3YXRl cm1hcmtfc2NhbGVfZmFjdG9yLAo+IDEwMDAwKSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXVsdF9mcmFjKHpvbmVfbWFuYWdlZF9wYWdl cyh6b25lKSwKPiB6b25lX3dtX2ZhY3RvciwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEwMDAwKSk7Cj4g wqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpvbmUtPndhdGVybWFya19ib29z dCA9IDA7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6b25lLT5fd2F0ZXJtYXJr W1dNQVJLX0xPV13CoCA9IG1pbl93bWFya19wYWdlcyh6b25lKQo+ICsgdG1wOwo+IEBAIC04Nzk4 LDExICs4ODEzLDE5IEBAIGludCBtaW5fZnJlZV9rYnl0ZXNfc3lzY3RsX2hhbmRsZXIoc3RydWN0 Cj4gY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAo+IMKgaW50IHdhdGVybWFya19zY2FsZV9m YWN0b3Jfc3lzY3RsX2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsCj4gaW50IHdyaXRl LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm9pZCAqYnVmZmVyLCBzaXplX3Qg Kmxlbmd0aCwgbG9mZl90ICpwcG9zKQo+IMKgewo+IC3CoMKgwqDCoMKgwqDCoGludCByYzsKPiAr wqDCoMKgwqDCoMKgwqBpbnQgaTsKPiDCoAo+IC3CoMKgwqDCoMKgwqDCoHJjID0gcHJvY19kb2lu dHZlY19taW5tYXgodGFibGUsIHdyaXRlLCBidWZmZXIsIGxlbmd0aCwKPiBwcG9zKTsKPiAtwqDC oMKgwqDCoMKgwqBpZiAocmMpCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVy biByYzsKPiArwqDCoMKgwqDCoMKgwqBwcm9jX2RvaW50dmVjX21pbm1heCh0YWJsZSwgd3JpdGUs IGJ1ZmZlciwgbGVuZ3RoLCBwcG9zKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgLyoKPiArwqDCoMKg wqDCoMKgwqAgKiBUaGUgdW5pdCBpcyBpbiBmcmFjdGlvbnMgb2YgMTAsMDAwLiBUaGUgZGVmYXVs dCB2YWx1ZSBvZgo+IDEwCj4gK8KgwqDCoMKgwqDCoMKgICogbWVhbnMgdGhlIGRpc3RhbmNlcyBi ZXR3ZWVuIHdhdGVybWFya3MgYXJlIDAuMSUgb2YgdGhlCj4gYXZhaWxhYmxlCj4gK8KgwqDCoMKg wqDCoMKgICogbWVtb3J5IGluIHRoZSBub2RlL3N5c3RlbS4gVGhlIG1heGltdW0gdmFsdWUgaXMg MzAwMCwgb3IKPiAzMCUgb2YKPiArwqDCoMKgwqDCoMKgwqAgKiBtZW1vcnkuCj4gK8KgwqDCoMKg wqDCoMKgICovCj4gK8KgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IE1BWF9OUl9aT05FUzsg aSsrKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB3YXRlcm1hcmtfc2NhbGVfZmFj dG9yW2ldID0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGNsYW1wKHdhdGVybWFya19zY2FsZV9mYWN0b3JbaV0sIDEsIDMwMDApOwo+IMKgCj4gwqDCoMKg wqDCoMKgwqDCoGlmICh3cml0ZSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNl dHVwX3Blcl96b25lX3dtYXJrcygpOwoK