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 3DC4DC07545 for ; Tue, 24 Oct 2023 07:15:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D26126B0189; Tue, 24 Oct 2023 03:15:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CAF086B018A; Tue, 24 Oct 2023 03:15:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B502C6B018B; Tue, 24 Oct 2023 03:15:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A296C6B0189 for ; Tue, 24 Oct 2023 03:15:24 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7B372A0D8A for ; Tue, 24 Oct 2023 07:15:24 +0000 (UTC) X-FDA: 81379494168.02.7A3444F Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by imf15.hostedemail.com (Postfix) with ESMTP id B8DE5A0006 for ; Tue, 24 Oct 2023 07:15:22 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=jpeIFVWh; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698131722; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=O4XKdmsnPQl3dHhgnXly1nlogFG+nLP27ca7G/hp5Wc=; b=Ul83S+VxI+++OerVZEViaFuw93YHK3akBelYn+zswWB37wqT1foc95aJZpWAV32CxwsnzT GNARYMOyKlfj5xQhdVkybJ05zHpiRTIrG7melpvrcH3MgeUsmZiWRVEkDlgHwozvlDInqB mzC5F1X6Mv4YZRxpIvbsIuOgdakmhC4= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=jpeIFVWh; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf15.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.50 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698131722; a=rsa-sha256; cv=none; b=2ljf+oCmJ1m7rmrdt2JXjINxLGCDyoxAqn3H52U+Tn7TmyvO1bjedmYlpxSJWB5JyXLtkp L9bHHFFQKX+ug+zvKXTKfk8X/ZZmigtS9i/gS+OtwuifSmnUtNawX5NNyzxsO2o9e+AJo7 zw3HfftfxPZM/ThGvH0tEy+4LWTvMNQ= Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-53e84912038so6116736a12.1 for ; Tue, 24 Oct 2023 00:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698131721; x=1698736521; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=O4XKdmsnPQl3dHhgnXly1nlogFG+nLP27ca7G/hp5Wc=; b=jpeIFVWhxtF7vVo2S+ulYPG9Dg370yhfycQ9JY7/Mol3CIdluTEDN+dSoc4KQQAjMT Tduk4OznXJO5nBvDfk8IB5B+S0rIQa3pAhtycnY+4v3bchlT2JA/4E80r7G/zXcFOsTA UffdFp8lyOzvumGEQMXhOu1p1bh4V5aH5vjzoY/pqJPRnmowSk0QKeir9RAfL7t/K8Dd RvsN7ZKFBDv9CN19czekvtsmLksF6xKZUs8ZFtwIRKRAeX+JLi252mKvXpumMPV5nbg9 sBISl7uF0w6MB3XuG/ecDkUi/t4X4C04+9Y3HHMu5G4p7rtIEcgaMdLg0SZezOCV8NBo GHyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698131721; x=1698736521; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=O4XKdmsnPQl3dHhgnXly1nlogFG+nLP27ca7G/hp5Wc=; b=qfJ8dxYtE4/O8Ov3QE5b1uzibsAqZdZPzjD8ATgkl4MaYe4uc6MgsSofXoyw46TJ2c cY9pRw9OtO9xPUdWZ7IGhD0Vp+AkwbS5wgbyuB2IThnPYidwP9waEPVG4EaW+tKIpaMa OszNSUFVm76twd05ki61UxKMLo/fgeawDrIp+tSdeejN1VwE50vX6jYyuy3aj8C6kEOW 6D0SJzBTcOsC6GR+7Odxb3NZgzbpri6U2yOqnpjLdnAN5eGj78wqXBRWJBhady3fip0x eXKo91tH5hkR7xkm/VPVd3UsbPhtZou3hq45y2tmS4C9EyCCvM40/tj0n3uM2sAg6s6A kflQ== X-Gm-Message-State: AOJu0YwElzehdvI/Kz59Dqzte62Wn8CHPt2aFnARto8aHuST0rPNDBgx cEo8Gb8aTk4ZJOBbLHUYOxtX2MNpk3ivLXuc787zKA== X-Google-Smtp-Source: AGHT+IHeCDSmlx/q4j4BChR9UnNp99IWrBQlgv+NK948E/DuFKXsYw2qlrWTat2PzFNNjs06XC9lNfRLyYZNIKakjpk= X-Received: by 2002:a17:907:7f8f:b0:9be:2469:bdf5 with SMTP id qk15-20020a1709077f8f00b009be2469bdf5mr11438912ejc.15.1698131720868; Tue, 24 Oct 2023 00:15:20 -0700 (PDT) MIME-Version: 1.0 References: <20231010032117.1577496-4-yosryahmed@google.com> <202310202303.c68e7639-oliver.sang@intel.com> In-Reply-To: From: Yosry Ahmed Date: Tue, 24 Oct 2023 00:14:42 -0700 Message-ID: Subject: Re: [PATCH v2 3/5] mm: memcg: make stats flushing threshold per-memcg To: Oliver Sang Cc: Feng Tang , Shakeel Butt , "oe-lkp@lists.linux.dev" , lkp , "cgroups@vger.kernel.org" , "linux-mm@kvack.org" , "Huang, Ying" , "Yin, Fengwei" , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Ivan Babrou , Tejun Heo , =?UTF-8?Q?Michal_Koutn=C3=BD?= , Waiman Long , "kernel-team@cloudflare.com" , Wei Xu , Greg Thelen , "linux-kernel@vger.kernel.org" Content-Type: multipart/mixed; boundary="0000000000000212ee0608711aa1" X-Rspamd-Queue-Id: B8DE5A0006 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: whjxtij446xh7wu8kdfob1x7dipyetyi X-HE-Tag: 1698131722-886868 X-HE-Meta: U2FsdGVkX1/d2eBI+vVA5aG9vkXGcissjNdJfVW2Mll8bcDJen6OglSdTu6EL7PgFkl/S5tKH1hzN2XG6G3SH7SuOoHaLgDpsToJL7RcPl8zrsCyQ9lxJz3Y3OquYP2I9SXnvQo0NFc5iqRFYWznWXc4eRz2TSF/z3uv9EdK0/ht7/0i/heQC+HK0baGBoS7u6oZYbgJPpVqYEq2Zq7g+Ofea6lsLMYWkOkT3e5YM42V7eTabfaerPBYfgWYP2Aa6Vx3L3btWdwvV2aG9rQja1/FCBNwXcswQ3MpVZXoPaTppxZi+6aaFuap63y6GCFRdXp/YlZ2uG0CG+zfcq5EwKkPzEBn66wt9e0f7kHCiX+xlTGMm2+OxiaZEfrXJE68PbmYYOUCu7TN5wK6qIbm8IYfzni+Cuq1Aufo8gPSl8pqmDumASWgmXVY6w3eucKLG+LF/7xsEReYEDDkRYVyRoobJHb+VeSWtDCOON4Jh+8e3d2FDWyuY1lUYsElvbT6E+4Fj3DiTibnwsrLmkcvBnNTDi0/vM1aAYo0ueAELyfqWGzEC4aGBjG6/6qst/YHXVoSkPSzIGK3ZewRtkWs9/3/eZg6VSxUYc+sK5Opqm9bbZE9f0eE0p4pnh+ZZEGq3g4n3od/a7VGD424vdstAVY+wpT7/q/4bh+EZZZZn56l8QYQPebE0NUw3kd+i56wDxv3etXKO7UyKjxmUqrs/L3/si/9JQ8qa3/vXlC5Kkh7S9ytZu3kjigO54emUeqEj/ZO7G+SHTCU+EEL8GqvbPpMeNVuVtMU+gp9K1cRyftD0FOdh8BkSoDuKOWoIdRSMNwGJpr6AAWnm9EDGc/GDu+gbHCqYaRB8XpjTqdtMB56Dw33QFw6nF9Fozhro4nQyGJ3zL/tP8iTTm/9ki11YY2oXelqNneXnxy0jZxm/C/JwfV1nYCK2YVi3OOpvSoDhIn5/N+ODLfqsBhqIIQ 7hOF1gKP hE0A06Dl+46uGM4QDe8RhOm4JUijnGSaqwdLOLvNO4xNNpRydiIY2Cn/wywOfXCYfunjyoucLac1I2G/vIx/QCaKxgctb3fjl1dwQ3L7CgQnysugJMMIMkkO3o8CDkApYTTAheftYXDDtcrlXmTJdjdQraWQLN2TpIJfcpiT/42kY6azC9sAQR/5KpnXpFfzVFa8BowNVqhrAGULhnSyhC6Xd/pY6B4zg2zH8+wL2TfHcdOiZ7L5Ge78oM7s3nvmvZtD5WVAeloAPJdz/eclCm87oJYpZsicKVI7SyjMnXKQfy0ZL+9+WxhyxOgGCqQJ1MzRO6Qxkm6ttqrSNRbUrz3R68OIwID+MpOImAHEQ3pXi2dmgu4RKyofazUWJDKhnnTzfcr8+ISQtvzA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000547, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --0000000000000212ee0608711aa1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Oct 23, 2023 at 11:56=E2=80=AFPM Oliver Sang wrote: > > hi, Yosry Ahmed, > > On Mon, Oct 23, 2023 at 07:13:50PM -0700, Yosry Ahmed wrote: > > ... > > > > > I still could not run the benchmark, but I used a version of > > fallocate1.c that does 1 million iterations. I ran 100 in parallel. > > This showed ~13% regression with the patch, so not the same as the > > will-it-scale version, but it could be an indicator. > > > > With that, I did not see any improvement with the fixlet above or > > ___cacheline_aligned_in_smp. So you can scratch that. > > > > I did, however, see some improvement with reducing the indirection > > layers by moving stats_updates directly into struct mem_cgroup. The > > regression in my manual testing went down to 9%. Still not great, but > > I am wondering how this reflects on the benchmark. If you're able to > > test it that would be great, the diff is below. Meanwhile I am still > > looking for other improvements that can be made. > > we applied previous patch-set as below: > > c5f50d8b23c79 (linux-review/Yosry-Ahmed/mm-memcg-change-flush_next_time-t= o-flush_last_time/20231010-112257) mm: memcg: restore subtree stats flushin= g > ac8a48ba9e1ca mm: workingset: move the stats flush into workingset_test_r= ecent() > 51d74c18a9c61 mm: memcg: make stats flushing threshold per-memcg > 130617edc1cd1 mm: memcg: move vmstats structs definition above flushing c= ode > 26d0ee342efc6 mm: memcg: change flush_next_time to flush_last_time > 25478183883e6 Merge branch 'mm-nonmm-unstable' into mm-everything <----= the base our tool picked for the patch set > > I tried to apply below patch to either 51d74c18a9c61 or c5f50d8b23c79, > but failed. could you guide how to apply this patch? > Thanks > Thanks for looking into this. I rebased the diff on top of c5f50d8b23c79. Please find it attached. --0000000000000212ee0608711aa1 Content-Type: application/octet-stream; name="0001-memcg-move-stats_updates-to-struct-mem_cgroup.patch" Content-Disposition: attachment; filename="0001-memcg-move-stats_updates-to-struct-mem_cgroup.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lo3zpp7k0 RnJvbSAwYjBkZmZkZmUxOTIzODJhM2FhY2ZhMzEzYmVlZTY4YjMzYmY3ZDg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZb3NyeSBBaG1lZCA8eW9zcnlhaG1lZEBnb29nbGUuY29tPgpE YXRlOiBUdWUsIDI0IE9jdCAyMDIzIDA3OjAyOjAyICswMDAwClN1YmplY3Q6IFtQQVRDSF0gbWVt Y2c6IG1vdmUgc3RhdHNfdXBkYXRlcyB0byBzdHJ1Y3QgbWVtX2Nncm91cAoKLS0tCiBpbmNsdWRl L2xpbnV4L21lbWNvbnRyb2wuaCB8ICA0ICsrKysKIG1tL21lbWNvbnRyb2wuYyAgICAgICAgICAg IHwgMzMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQs IDIyIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUv bGludXgvbWVtY29udHJvbC5oIGIvaW5jbHVkZS9saW51eC9tZW1jb250cm9sLmgKaW5kZXggZjY0 YWMxNDAwODNlZS4uYjRkZmNkOGI5Y2MxYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tZW1j b250cm9sLmgKKysrIGIvaW5jbHVkZS9saW51eC9tZW1jb250cm9sLmgKQEAgLTI3MCw2ICsyNzAs OSBAQCBzdHJ1Y3QgbWVtX2Nncm91cCB7CiAKIAlDQUNIRUxJTkVfUEFERElORyhfcGFkMV8pOwog CisJLyogU3RhdHMgdXBkYXRlcyBzaW5jZSB0aGUgbGFzdCBmbHVzaCAqLworCWF0b21pYzY0X3QJ CXN0YXRzX3VwZGF0ZXM7CisKIAkvKiBtZW1vcnkuc3RhdCAqLwogCXN0cnVjdCBtZW1jZ192bXN0 YXRzCSp2bXN0YXRzOwogCkBAIC0zMDksNiArMzEyLDcgQEAgc3RydWN0IG1lbV9jZ3JvdXAgewog CWF0b21pY190CQltb3ZpbmdfYWNjb3VudDsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QJKm1vdmVfbG9j a190YXNrOwogCisJdW5zaWduZWQgaW50IF9fcGVyY3B1ICpzdGF0c191cGRhdGVzX3BlcmNwdTsK IAlzdHJ1Y3QgbWVtY2dfdm1zdGF0c19wZXJjcHUgX19wZXJjcHUgKnZtc3RhdHNfcGVyY3B1Owog CiAjaWZkZWYgQ09ORklHX0NHUk9VUF9XUklURUJBQ0sKZGlmZiAtLWdpdCBhL21tL21lbWNvbnRy b2wuYyBiL21tL21lbWNvbnRyb2wuYwppbmRleCAxODJiNGYyMTVmYzY0Li5lNWQyZjNkNGQ4NzQ3 IDEwMDY0NAotLS0gYS9tbS9tZW1jb250cm9sLmMKKysrIGIvbW0vbWVtY29udHJvbC5jCkBAIC02 MjcsOSArNjI3LDYgQEAgc3RydWN0IG1lbWNnX3Ztc3RhdHNfcGVyY3B1IHsKIAkvKiBDZ3JvdXAx OiB0aHJlc2hvbGQgbm90aWZpY2F0aW9ucyAmIHNvZnRsaW1pdCB0cmVlIHVwZGF0ZXMgKi8KIAl1 bnNpZ25lZCBsb25nCQlucl9wYWdlX2V2ZW50czsKIAl1bnNpZ25lZCBsb25nCQl0YXJnZXRzW01F TV9DR1JPVVBfTlRBUkdFVFNdOwotCi0JLyogU3RhdHMgdXBkYXRlcyBzaW5jZSB0aGUgbGFzdCBm bHVzaCAqLwotCXVuc2lnbmVkIGludAkJc3RhdHNfdXBkYXRlczsKIH07CiAKIHN0cnVjdCBtZW1j Z192bXN0YXRzIHsKQEAgLTY0NCw5ICs2NDEsNiBAQCBzdHJ1Y3QgbWVtY2dfdm1zdGF0cyB7CiAJ LyogUGVuZGluZyBjaGlsZCBjb3VudHMgZHVyaW5nIHRyZWUgcHJvcGFnYXRpb24gKi8KIAlsb25n CQkJc3RhdGVfcGVuZGluZ1tNRU1DR19OUl9TVEFUXTsKIAl1bnNpZ25lZCBsb25nCQlldmVudHNf cGVuZGluZ1tOUl9NRU1DR19FVkVOVFNdOwotCi0JLyogU3RhdHMgdXBkYXRlcyBzaW5jZSB0aGUg bGFzdCBmbHVzaCAqLwotCWF0b21pYzY0X3QJCXN0YXRzX3VwZGF0ZXM7CiB9OwogCiAvKgpAQCAt Njk1LDE0ICs2ODksMTQgQEAgc3RhdGljIHZvaWQgbWVtY2dfc3RhdHNfdW5sb2NrKHZvaWQpCiAK IHN0YXRpYyBib29sIG1lbWNnX3Nob3VsZF9mbHVzaF9zdGF0cyhzdHJ1Y3QgbWVtX2Nncm91cCAq bWVtY2cpCiB7Ci0JcmV0dXJuIGF0b21pYzY0X3JlYWQoJm1lbWNnLT52bXN0YXRzLT5zdGF0c191 cGRhdGVzKSA+CisJcmV0dXJuIGF0b21pYzY0X3JlYWQoJm1lbWNnLT5zdGF0c191cGRhdGVzKSA+ CiAJCU1FTUNHX0NIQVJHRV9CQVRDSCAqIG51bV9vbmxpbmVfY3B1cygpOwogfQogCiBzdGF0aWMg aW5saW5lIHZvaWQgbWVtY2dfcnN0YXRfdXBkYXRlZChzdHJ1Y3QgbWVtX2Nncm91cCAqbWVtY2cs IGludCB2YWwpCiB7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQl1bnNpZ25lZCBp bnQgeDsKKwl1bnNpZ25lZCBpbnQgKnN0YXRzX3VwZGF0ZXNfcGVyY3B1OwogCiAJaWYgKCF2YWwp CiAJCXJldHVybjsKQEAgLTcxMCwxMCArNzA0LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtZW1j Z19yc3RhdF91cGRhdGVkKHN0cnVjdCBtZW1fY2dyb3VwICptZW1jZywgaW50IHZhbCkKIAljZ3Jv dXBfcnN0YXRfdXBkYXRlZChtZW1jZy0+Y3NzLmNncm91cCwgY3B1KTsKIAogCWZvciAoOyBtZW1j ZzsgbWVtY2cgPSBwYXJlbnRfbWVtX2Nncm91cChtZW1jZykpIHsKLQkJeCA9IF9fdGhpc19jcHVf YWRkX3JldHVybihtZW1jZy0+dm1zdGF0c19wZXJjcHUtPnN0YXRzX3VwZGF0ZXMsCi0JCQkJCSAg YWJzKHZhbCkpOworCQlzdGF0c191cGRhdGVzX3BlcmNwdSA9IHRoaXNfY3B1X3B0cihtZW1jZy0+ c3RhdHNfdXBkYXRlc19wZXJjcHUpOwogCi0JCWlmICh4IDwgTUVNQ0dfQ0hBUkdFX0JBVENIKQor CQkqc3RhdHNfdXBkYXRlc19wZXJjcHUgKz0gYWJzKHZhbCk7CisJCWlmICgqc3RhdHNfdXBkYXRl c19wZXJjcHUgPCBNRU1DR19DSEFSR0VfQkFUQ0gpCiAJCQljb250aW51ZTsKIAogCQkvKgpAQCAt NzIxLDggKzcxNSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtZW1jZ19yc3RhdF91cGRhdGVkKHN0 cnVjdCBtZW1fY2dyb3VwICptZW1jZywgaW50IHZhbCkKIAkJICogcmVkdW5kYW50LiBBdm9pZCB0 aGUgb3ZlcmhlYWQgb2YgdGhlIGF0b21pYyB1cGRhdGUuCiAJCSAqLwogCQlpZiAoIW1lbWNnX3No b3VsZF9mbHVzaF9zdGF0cyhtZW1jZykpCi0JCQlhdG9taWM2NF9hZGQoeCwgJm1lbWNnLT52bXN0 YXRzLT5zdGF0c191cGRhdGVzKTsKLQkJX190aGlzX2NwdV93cml0ZShtZW1jZy0+dm1zdGF0c19w ZXJjcHUtPnN0YXRzX3VwZGF0ZXMsIDApOworCQkJYXRvbWljNjRfYWRkKCpzdGF0c191cGRhdGVz X3BlcmNwdSwgJm1lbWNnLT5zdGF0c191cGRhdGVzKTsKKwkJKnN0YXRzX3VwZGF0ZXNfcGVyY3B1 ID0gMDsKIAl9CiB9CiAKQEAgLTU0NjcsNiArNTQ2MSw3IEBAIHN0YXRpYyB2b2lkIF9fbWVtX2Nn cm91cF9mcmVlKHN0cnVjdCBtZW1fY2dyb3VwICptZW1jZykKIAkJZnJlZV9tZW1fY2dyb3VwX3Bl cl9ub2RlX2luZm8obWVtY2csIG5vZGUpOwogCWtmcmVlKG1lbWNnLT52bXN0YXRzKTsKIAlmcmVl X3BlcmNwdShtZW1jZy0+dm1zdGF0c19wZXJjcHUpOworCWZyZWVfcGVyY3B1KG1lbWNnLT5zdGF0 c191cGRhdGVzX3BlcmNwdSk7CiAJa2ZyZWUobWVtY2cpOwogfQogCkBAIC01NTA0LDYgKzU0OTks MTEgQEAgc3RhdGljIHN0cnVjdCBtZW1fY2dyb3VwICptZW1fY2dyb3VwX2FsbG9jKHZvaWQpCiAJ aWYgKCFtZW1jZy0+dm1zdGF0c19wZXJjcHUpCiAJCWdvdG8gZmFpbDsKIAorCW1lbWNnLT5zdGF0 c191cGRhdGVzX3BlcmNwdSA9IGFsbG9jX3BlcmNwdV9nZnAodW5zaWduZWQgaW50LAorCQkJCQkJ ICAgICAgIEdGUF9LRVJORUxfQUNDT1VOVCk7CisJaWYgKCFtZW1jZy0+c3RhdHNfdXBkYXRlc19w ZXJjcHUpCisJCWdvdG8gZmFpbDsKKwogCWZvcl9lYWNoX25vZGUobm9kZSkKIAkJaWYgKGFsbG9j X21lbV9jZ3JvdXBfcGVyX25vZGVfaW5mbyhtZW1jZywgbm9kZSkpCiAJCQlnb3RvIGZhaWw7CkBA IC01NzM1LDEwICs1NzM1LDEyIEBAIHN0YXRpYyB2b2lkIG1lbV9jZ3JvdXBfY3NzX3JzdGF0X2Zs dXNoKHN0cnVjdCBjZ3JvdXBfc3Vic3lzX3N0YXRlICpjc3MsIGludCBjcHUpCiAJc3RydWN0IG1l bV9jZ3JvdXAgKm1lbWNnID0gbWVtX2Nncm91cF9mcm9tX2Nzcyhjc3MpOwogCXN0cnVjdCBtZW1f Y2dyb3VwICpwYXJlbnQgPSBwYXJlbnRfbWVtX2Nncm91cChtZW1jZyk7CiAJc3RydWN0IG1lbWNn X3Ztc3RhdHNfcGVyY3B1ICpzdGF0YzsKKwlpbnQgKnN0YXRzX3VwZGF0ZXNfcGVyY3B1OwogCWxv bmcgZGVsdGEsIGRlbHRhX2NwdSwgdjsKIAlpbnQgaSwgbmlkOwogCiAJc3RhdGMgPSBwZXJfY3B1 X3B0cihtZW1jZy0+dm1zdGF0c19wZXJjcHUsIGNwdSk7CisJc3RhdHNfdXBkYXRlc19wZXJjcHUg PSBwZXJfY3B1X3B0cihtZW1jZy0+c3RhdHNfdXBkYXRlc19wZXJjcHUsIGNwdSk7CiAKIAlmb3Ig KGkgPSAwOyBpIDwgTUVNQ0dfTlJfU1RBVDsgaSsrKSB7CiAJCS8qCkBAIC01ODI2LDkgKzU4Mjgs MTAgQEAgc3RhdGljIHZvaWQgbWVtX2Nncm91cF9jc3NfcnN0YXRfZmx1c2goc3RydWN0IGNncm91 cF9zdWJzeXNfc3RhdGUgKmNzcywgaW50IGNwdSkKIAkJCX0KIAkJfQogCX0KKwkqc3RhdHNfdXBk YXRlc19wZXJjcHUgPSAwOwogCS8qIFdlIGFyZSBpbiBhIHBlci1jcHUgbG9vcCBoZXJlLCBvbmx5 IGRvIHRoZSBhdG9taWMgd3JpdGUgb25jZSAqLwotCWlmIChhdG9taWM2NF9yZWFkKCZtZW1jZy0+ dm1zdGF0cy0+c3RhdHNfdXBkYXRlcykpCi0JCWF0b21pYzY0X3NldCgmbWVtY2ctPnZtc3RhdHMt PnN0YXRzX3VwZGF0ZXMsIDApOworCWlmIChhdG9taWM2NF9yZWFkKCZtZW1jZy0+c3RhdHNfdXBk YXRlcykpCisJCWF0b21pYzY0X3NldCgmbWVtY2ctPnN0YXRzX3VwZGF0ZXMsIDApOwogfQogCiAj aWZkZWYgQ09ORklHX01NVQotLSAKMi40Mi4wLjc1OC5nYWVkMDM2OGUwZS1nb29nCgo= --0000000000000212ee0608711aa1--