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 A4198C46CD2 for ; Mon, 22 Jan 2024 21:39:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 205726B007B; Mon, 22 Jan 2024 16:39:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1DCC26B007D; Mon, 22 Jan 2024 16:39:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 07F3D6B008A; Mon, 22 Jan 2024 16:39:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id EC44D6B007B for ; Mon, 22 Jan 2024 16:39:58 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B9CA3120674 for ; Mon, 22 Jan 2024 21:39:58 +0000 (UTC) X-FDA: 81708264876.10.B32083F Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf09.hostedemail.com (Postfix) with ESMTP id F254014001A for ; Mon, 22 Jan 2024 21:39:56 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Dv2zVTJG; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.41 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=1705959597; 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=OJl69jgvDfPjiM2uB3CG3ZOcpFE/TqmJUUOEN3Q1aTs=; b=2nCUOeAyBdV1T1eX6t0tWve7SlIR4WFlJ/Rn9wDbLrc5PA96YoDRjycqL0vwV1w2vnME3k 1d6tDAHS3xWPBUzAP4uDhpzCG9Brugd5roctf9w1RCW0Y1alhAdF4mrI+vLFOWp70ylCg2 POAM3tlE2JzKjuYAagWbXeu608RK/bE= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Dv2zVTJG; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705959597; a=rsa-sha256; cv=none; b=FSkctxXA1PKCCiblkpaL4ua5jBNKunFu2HVZiWQazOKTeDJ6JhMkIZxQBa62drRCTdsI5G /FXmoBFUXX9ugbM8zEhc4Us0hAP1AmvwLwz5FYpxvY0AwiTEA/OjNxipyt0+TktSzC0Gbm vTw3wMPzd7GZAPN79hl+qnv7yIYm6l0= Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-55c1ac8d2f2so2101412a12.2 for ; Mon, 22 Jan 2024 13:39:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705959595; x=1706564395; 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=OJl69jgvDfPjiM2uB3CG3ZOcpFE/TqmJUUOEN3Q1aTs=; b=Dv2zVTJGmDwFpwnJJDKlcyPt63pSy3h27TiN3Qh94EO30Mty0y+00RFHawklcQAGAn objghXQNdNxXRWWNVw+H2wJVWpJDF7lrMzypQgTaFByw/7TK/q8BScO0ZHzTRMURVPNM JtpOHB+QX/dFYJZU89wroXJpflUXALRgj/aPjsBetI+t4ZEb3jp2KVyMwK5hschOZsaX SQLXN/Ua6y0dOQOsaTpKb+hLwmWyLs4sJLFWcE2Yq94GA9bGIGMmIsUpJnO+lJui+1dd Ke9rHyyY3gIYJE2FAcCd5roMMkbjiOumMDfWjZwrfq9z0khTkhB7SFfg6a88or0wKbVl Xx4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705959595; x=1706564395; 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=OJl69jgvDfPjiM2uB3CG3ZOcpFE/TqmJUUOEN3Q1aTs=; b=wf5DiJVF1ysYF+qUmXd4qyaZnqntzNjBDImZpYySJg5fZAU7YCekpS4pUSRot/+mJA nK/bqDcLq6UjBNu+vHPfaNPA5tiJg6PILcSg5Ssz6ytuqVNRsrUymwmyV3z9V658VtWX gWeiwZIB7hKDI8norywt73VWiuPMuAxq3uK7vMG4+gx7d4gSbmUcxxI85Ep3dfJwGy2A vdKKWToLC2CLUpb+Ysc4p5jwUqg9/nJ57isDlUmCssVzM7/kt/gjtLfncdKdsKgBCMNX ayMeVrw7NRg/+WnsA5w98j1jxyPgOrnTpG1RrpXYd0vk7keeQlEE4U7Pkn6YyHAqRNpy UBpA== X-Gm-Message-State: AOJu0Yym4dhe7jzSDUYRt1GRb34uNXvzrpJ+cEnsfg2bz4iQgePOvzDw /lOnAlCtj623JIjXyadFqtLN83vOtIK+aDYS5Np8sZhWJCgVCEubWFJeseQpLOZX+N1hJh91EnW RPNTfc/BgSQgVisSlpdSVRkQvWlc2tFz3TM7G X-Google-Smtp-Source: AGHT+IFNt0YCom8kIcDqsIQbiBf39l15C3VxyveKkoMqocLWukEgOsuQSRo135FaSfm9uwdrkIiU5v4TEQUqKhERWXg= X-Received: by 2002:a17:906:5a47:b0:a2e:d3fe:9bb7 with SMTP id my7-20020a1709065a4700b00a2ed3fe9bb7mr2129319ejc.124.1705959595177; Mon, 22 Jan 2024 13:39:55 -0800 (PST) MIME-Version: 1.0 References: <202401221624.cb53a8ca-oliver.sang@intel.com> In-Reply-To: <202401221624.cb53a8ca-oliver.sang@intel.com> From: Yosry Ahmed Date: Mon, 22 Jan 2024 13:39:19 -0800 Message-ID: Subject: Re: [linus:master] [mm] 8d59d2214c: vm-scalability.throughput -36.6% regression To: kernel test robot Cc: oe-lkp@lists.linux.dev, lkp@intel.com, linux-kernel@vger.kernel.org, Andrew Morton , Johannes Weiner , Domenico Cerasuolo , Shakeel Butt , Chris Li , Greg Thelen , Ivan Babrou , Michal Hocko , Michal Koutny , Muchun Song , Roman Gushchin , Tejun Heo , Waiman Long , Wei Xu , cgroups@vger.kernel.org, linux-mm@kvack.org, ying.huang@intel.com, feng.tang@intel.com, fengwei.yin@intel.com Content-Type: multipart/mixed; boundary="000000000000acf02c060f8fab3d" X-Rspamd-Queue-Id: F254014001A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: negcojeesuhjp1e8cbeea455qsyubgmc X-HE-Tag: 1705959596-191483 X-HE-Meta: U2FsdGVkX19obst7xZXLE36+lVqcgpi0NHu6jCp/Sn7ey6sgfQKfHs5FPgIz9p8i35vQ26XdadGt4cSpJfwBewoDfKWQF4k9aTDtu135dFvF+8ZVhYmuLyH8wQ4sBd1wwNnArCkvL4WYRdVD1UpA84HvpD0GW/hjcvsUwnhdZe4zfbI0HmmOyc+5iq5iSJ+1LsCPn9sSCDu90mG5P4QUEMwsx3gBhuqvPyjt12qrP/lI9F0XHtwShbEsvvp9BWUU9qzkbSUdp+WouLbxl7P2IKdOSPWVOW43iAf/5qmlgGTfGYA8IIu0eq8zbE4uXz9M1Pclh4NPx8Vw/gPAxSQZk+FFbvc4AkCAjVe2olMDUijiSaxdf480LX+02j4qs2UAeyNGy7EzKh64GbxD70CFc2hZ0SvZteLkLQWhJH/T2fBLE5YwMgIuDgaOVt3f5OUsV8nQQ6QUUworYsqPfV3K/DfZq35lnUzylFzC6a36nuE+a+H4BwDcb7CS1JtLqnwXmhvfzEpMIm2+O+cncf0lpi8trxZf40AzvKuZzMHNTSujhS1HcBRtJQwwakB5dnN0tOxY/fGhAHKwoDMdK5nRWU1+9sd4NxGCxrW9go4eEau5ES1pKuHgN4JUqNRib159IHMEFLdtPHQWn247LTdsiOFLFWO5ZCdehPrkUbckzvgSGpTDLPOqOJHSzJor842ZZei8HCSo4hKjt/6TQgMbSaIMK1fMkUhuR9EX21PovJVO5ge7jvxlVPLhG6gInb0vCDJIAtQkHabI3eKqj14qC8B8VEP4DCHUZxjBT50Pr2CAr6jvbYb5soXi4O80IYUzDusTn8zC0IgyWPFNrPO+7qyWVtNODTuLkmHV4Bh0C1rpgFLUaSMwvUJuWU04GntzNiyG4qfagTAc1UTs5zrJ1A8iu+gsbKdSywNJO5OqrmzzBDLUAzHASP+dct6BrA+tUV1wKLM4GmKExIRENt/ HeOeOyp/ NTrP+e89a/L89sc2Zy4IMYb2QCQBEKHHz2bybn9U/XqSk77JGtS21c+Tlbrfv9P8tijKuK4tImNSixevXKvdyCO6pYHEnz9VolpVs3/oBuXPn9t16j8ezDHaQ8JuYPnBqvz09sYxh+eRBEfVj3ez3laCdgz1lfYeFMO9K/3P6h/hjzd0WQMKDmWq7J889uxN95OE0q0FqJ0uQHGjK0NGmaRe/O0D0LcJU/fry9Izv7J0mGAZtisODEiUO8JH+Edmr+f1mC6qXI1zKj3VzotZY7VFjDlGW1VBZZeD/Lz8XvGvuaK3PG8GvxhkOgLaNMZM8LX2LC97QjaanuTjFTuMiTXGmRF+Bq0JGS5+qyn/70xh/SzbpycH62hoV9S7jUhwfGI+1BDjd2MB85c/diUu/kazvDlmR4y0wQv56zA9Sn5/2GMiN6kBGPmWXgA== 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: List-Subscribe: List-Unsubscribe: --000000000000acf02c060f8fab3d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jan 22, 2024 at 12:39=E2=80=AFAM kernel test robot wrote: > > > > hi, Yosry Ahmed, > > per your suggestion in > https://lore.kernel.org/all/CAJD7tkameJBrJQxRj+ibKL6-yd-i0wyoyv2cgZdh3Zep= A1p7wA@mail.gmail.com/ > "I think it would be useful to know if there are > regressions/improvements in other microbenchmarks, at least to > investigate whether they represent real regressions." > > we still report below two regressions to you just FYI what we observed in= our > microbenchmark tests. > (we still captured will-it-scale::fallocate regression but ignore here pe= r > your commit message) > > > Hello, > > kernel test robot noticed a -36.6% regression of vm-scalability.throughpu= t on: > > > commit: 8d59d2214c2362e7a9d185d80b613e632581af7b ("mm: memcg: make stats = flushing threshold per-memcg") > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master > > testcase: vm-scalability > test machine: 224 threads 4 sockets Intel(R) Xeon(R) Platinum 8380H CPU @= 2.90GHz (Cooper Lake) with 192G memory > parameters: > > runtime: 300s > size: 1T > test: lru-shm > cpufreq_governor: performance > > test-description: The motivation behind this suite is to exercise functio= ns and regions of the mm/ of the Linux kernel which are of interest to us. > test-url: https://git.kernel.org/cgit/linux/kernel/git/wfg/vm-scalability= .git/ > > In addition to that, the commit also has significant impact on the follow= ing tests: > > +------------------+-----------------------------------------------------= -----------------------------------------------+ > | testcase: change | will-it-scale: will-it-scale.per_process_ops -32.3% = regression | > | test machine | 104 threads 2 sockets (Skylake) with 192G memory = | > | test parameters | cpufreq_governor=3Dperformance = | > | | mode=3Dprocess = | > | | nr_task=3D50% = | > | | test=3Dtlb_flush2 = | > +------------------+-----------------------------------------------------= -----------------------------------------------+ > > > If you fix the issue in a separate patch/commit (i.e. not just a new vers= ion of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot > | Closes: https://lore.kernel.org/oe-lkp/202401221624.cb53a8ca-oliver.san= g@intel.com Thanks for reporting this. We have had these patches running on O(10K) machines in our production for a while now, and there haven't been any complaints (at least not yet). OTOH, we do see significant CPU savings on reading memcg stats. That being said, I think we can improve the performance here by caching pointers to the parent_memcg->vmstats_percpu and memcg->vmstats in struct memcg_vmstat_percpu. This should significantly reduce the memory fetches in the loop in memcg_rstat_updated(). Oliver, would you be able to test if the attached patch helps? It's based on 8d59d2214c236. [..] --000000000000acf02c060f8fab3d Content-Type: application/octet-stream; name="0001-mm-memcg-optimize-parent-iteration-in-memcg_rstat_up.patch" Content-Disposition: attachment; filename="0001-mm-memcg-optimize-parent-iteration-in-memcg_rstat_up.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lrpg9pbu0 RnJvbSA4ZDA0YzM4MTM3YzcxZDE1NzdhODU3NmZiNzVkYjA3ZjNiZjkyNDkxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZb3NyeSBBaG1lZCA8eW9zcnlhaG1lZEBnb29nbGUuY29tPgpE YXRlOiBNb24sIDIyIEphbiAyMDI0IDIxOjM1OjI5ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gbW06 IG1lbWNnOiBvcHRpbWl6ZSBwYXJlbnQgaXRlcmF0aW9uIGluIG1lbWNnX3JzdGF0X3VwZGF0ZWQo KQoKU2lnbmVkLW9mZi1ieTogWW9zcnkgQWhtZWQgPHlvc3J5YWhtZWRAZ29vZ2xlLmNvbT4KLS0t CiBtbS9tZW1jb250cm9sLmMgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9tbS9tZW1jb250cm9sLmMgYi9tbS9tZW1jb250cm9sLmMKaW5k ZXggYzVhYTBjMmNiNjhiMi4uYjVlYzRhODQxMzIxNSAxMDA2NDQKLS0tIGEvbW0vbWVtY29udHJv bC5jCisrKyBiL21tL21lbWNvbnRyb2wuYwpAQCAtNjM0LDYgKzYzNCwxMCBAQCBzdHJ1Y3QgbWVt Y2dfdm1zdGF0c19wZXJjcHUgewogCiAJLyogU3RhdHMgdXBkYXRlcyBzaW5jZSB0aGUgbGFzdCBm bHVzaCAqLwogCXVuc2lnbmVkIGludAkJc3RhdHNfdXBkYXRlczsKKworCS8qIENhY2hlZCBwb2lu dGVycyBmb3IgZmFzdCB1cGRhdGVzIGluIG1lbWNnX3JzdGF0X3VwZGF0ZWQoKSAqLworCXN0cnVj dCBtZW1jZ192bXN0YXRzX3BlcmNwdQkqcGFyZW50OworCXN0cnVjdCBtZW1jZ192bXN0YXRzCQkq dm1zdGF0czsKIH07CiAKIHN0cnVjdCBtZW1jZ192bXN0YXRzIHsKQEAgLTY5OCwzNiArNzAyLDM0 IEBAIHN0YXRpYyB2b2lkIG1lbWNnX3N0YXRzX3VubG9jayh2b2lkKQogfQogCiAKLXN0YXRpYyBi b29sIG1lbWNnX3Nob3VsZF9mbHVzaF9zdGF0cyhzdHJ1Y3QgbWVtX2Nncm91cCAqbWVtY2cpCitz dGF0aWMgYm9vbCBtZW1jZ192bXN0YXRzX25lZWRzX2ZsdXNoKHN0cnVjdCBtZW1jZ192bXN0YXRz ICp2bXN0YXRzKQogewotCXJldHVybiBhdG9taWM2NF9yZWFkKCZtZW1jZy0+dm1zdGF0cy0+c3Rh dHNfdXBkYXRlcykgPgorCXJldHVybiBhdG9taWM2NF9yZWFkKCZ2bXN0YXRzLT5zdGF0c191cGRh dGVzKSA+CiAJCU1FTUNHX0NIQVJHRV9CQVRDSCAqIG51bV9vbmxpbmVfY3B1cygpOwogfQogCiBz dGF0aWMgaW5saW5lIHZvaWQgbWVtY2dfcnN0YXRfdXBkYXRlZChzdHJ1Y3QgbWVtX2Nncm91cCAq bWVtY2csIGludCB2YWwpCiB7CisJc3RydWN0IG1lbWNnX3Ztc3RhdHNfcGVyY3B1ICpzdGF0YzsK IAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCXVuc2lnbmVkIGludCB4OwogCiAJaWYg KCF2YWwpCiAJCXJldHVybjsKIAogCWNncm91cF9yc3RhdF91cGRhdGVkKG1lbWNnLT5jc3MuY2dy b3VwLCBjcHUpOwotCi0JZm9yICg7IG1lbWNnOyBtZW1jZyA9IHBhcmVudF9tZW1fY2dyb3VwKG1l bWNnKSkgewotCQl4ID0gX190aGlzX2NwdV9hZGRfcmV0dXJuKG1lbWNnLT52bXN0YXRzX3BlcmNw dS0+c3RhdHNfdXBkYXRlcywKLQkJCQkJICBhYnModmFsKSk7Ci0KLQkJaWYgKHggPCBNRU1DR19D SEFSR0VfQkFUQ0gpCisJc3RhdGMgPSB0aGlzX2NwdV9wdHIobWVtY2ctPnZtc3RhdHNfcGVyY3B1 KTsKKwlmb3IgKDsgc3RhdGM7IHN0YXRjID0gc3RhdGMtPnBhcmVudCkgeworCQlzdGF0Yy0+c3Rh dHNfdXBkYXRlcyArPSBhYnModmFsKTsKKwkJaWYgKHN0YXRjLT5zdGF0c191cGRhdGVzIDwgTUVN Q0dfQ0hBUkdFX0JBVENIKQogCQkJY29udGludWU7CiAKIAkJLyoKIAkJICogSWYgQG1lbWNnIGlz IGFscmVhZHkgZmx1c2gtYWJsZSwgaW5jcmVhc2luZyBzdGF0c191cGRhdGVzIGlzCiAJCSAqIHJl ZHVuZGFudC4gQXZvaWQgdGhlIG92ZXJoZWFkIG9mIHRoZSBhdG9taWMgdXBkYXRlLgogCQkgKi8K LQkJaWYgKCFtZW1jZ19zaG91bGRfZmx1c2hfc3RhdHMobWVtY2cpKQotCQkJYXRvbWljNjRfYWRk KHgsICZtZW1jZy0+dm1zdGF0cy0+c3RhdHNfdXBkYXRlcyk7Ci0JCV9fdGhpc19jcHVfd3JpdGUo bWVtY2ctPnZtc3RhdHNfcGVyY3B1LT5zdGF0c191cGRhdGVzLCAwKTsKKwkJaWYgKCFtZW1jZ192 bXN0YXRzX25lZWRzX2ZsdXNoKHN0YXRjLT52bXN0YXRzKSkKKwkJCWF0b21pYzY0X2FkZCh4LCAm c3RhdGMtPnZtc3RhdHMtPnN0YXRzX3VwZGF0ZXMpOworCQlzdGF0Yy0+c3RhdHNfdXBkYXRlcyA9 IDA7CiAJfQogfQogCkBAIC03NTEsNyArNzUzLDcgQEAgc3RhdGljIHZvaWQgZG9fZmx1c2hfc3Rh dHModm9pZCkKIAogdm9pZCBtZW1fY2dyb3VwX2ZsdXNoX3N0YXRzKHZvaWQpCiB7Ci0JaWYgKG1l bWNnX3Nob3VsZF9mbHVzaF9zdGF0cyhyb290X21lbV9jZ3JvdXApKQorCWlmIChtZW1jZ192bXN0 YXRzX25lZWRzX2ZsdXNoKHJvb3RfbWVtX2Nncm91cC0+dm1zdGF0cykpCiAJCWRvX2ZsdXNoX3N0 YXRzKCk7CiB9CiAKQEAgLTc2NSw3ICs3NjcsNyBAQCB2b2lkIG1lbV9jZ3JvdXBfZmx1c2hfc3Rh dHNfcmF0ZWxpbWl0ZWQodm9pZCkKIHN0YXRpYyB2b2lkIGZsdXNoX21lbWNnX3N0YXRzX2R3b3Jr KHN0cnVjdCB3b3JrX3N0cnVjdCAqdykKIHsKIAkvKgotCSAqIERlbGliZXJhdGVseSBpZ25vcmUg bWVtY2dfc2hvdWxkX2ZsdXNoX3N0YXRzKCkgaGVyZSBzbyB0aGF0IGZsdXNoaW5nCisJICogRGVs aWJlcmF0ZWx5IGlnbm9yZSBtZW1jZ192bXN0YXRzX25lZWRzX2ZsdXNoKCkgaGVyZSBzbyB0aGF0 IGZsdXNoaW5nCiAJICogaW4gbGF0ZW5jeS1zZW5zaXRpdmUgcGF0aHMgaXMgYXMgY2hlYXAgYXMg cG9zc2libGUuCiAJICovCiAJZG9fZmx1c2hfc3RhdHMoKTsKQEAgLTU0NTMsMTAgKzU0NTUsMTEg QEAgc3RhdGljIHZvaWQgbWVtX2Nncm91cF9mcmVlKHN0cnVjdCBtZW1fY2dyb3VwICptZW1jZykK IAlfX21lbV9jZ3JvdXBfZnJlZShtZW1jZyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgbWVtX2Nncm91 cCAqbWVtX2Nncm91cF9hbGxvYyh2b2lkKQorc3RhdGljIHN0cnVjdCBtZW1fY2dyb3VwICptZW1f Y2dyb3VwX2FsbG9jKHN0cnVjdCBtZW1fY2dyb3VwICpwYXJlbnQpCiB7CisJc3RydWN0IG1lbWNn X3Ztc3RhdHNfcGVyY3B1ICpzdGF0YywgKnBzdGF0YzsKIAlzdHJ1Y3QgbWVtX2Nncm91cCAqbWVt Y2c7Ci0JaW50IG5vZGU7CisJaW50IG5vZGUsIGNwdTsKIAlpbnQgX19tYXliZV91bnVzZWQgaTsK IAlsb25nIGVycm9yID0gLUVOT01FTTsKIApAQCAtNTQ4MCw2ICs1NDgzLDE0IEBAIHN0YXRpYyBz dHJ1Y3QgbWVtX2Nncm91cCAqbWVtX2Nncm91cF9hbGxvYyh2b2lkKQogCWlmICghbWVtY2ctPnZt c3RhdHNfcGVyY3B1KQogCQlnb3RvIGZhaWw7CiAKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1 KSB7CisJCWlmIChwYXJlbnQpCisJCQlwc3RhdGMgPSBwZXJfY3B1X3B0cihwYXJlbnQtPnZtc3Rh dHNfcGVyY3B1LCBjcHUpOworCQlzdGF0YyA9IHBlcl9jcHVfcHRyKG1lbWNnLT52bXN0YXRzX3Bl cmNwdSwgY3B1KTsKKwkJc3RhdGMtPnBhcmVudCA9IHBhcmVudCA/IHBzdGF0YyA6IE5VTEw7CisJ CXN0YXRjLT52bXN0YXRzID0gbWVtY2ctPnZtc3RhdHM7CisJfQorCiAJZm9yX2VhY2hfbm9kZShu b2RlKQogCQlpZiAoYWxsb2NfbWVtX2Nncm91cF9wZXJfbm9kZV9pbmZvKG1lbWNnLCBub2RlKSkK IAkJCWdvdG8gZmFpbDsKQEAgLTU1MjUsNyArNTUzNiw3IEBAIG1lbV9jZ3JvdXBfY3NzX2FsbG9j KHN0cnVjdCBjZ3JvdXBfc3Vic3lzX3N0YXRlICpwYXJlbnRfY3NzKQogCXN0cnVjdCBtZW1fY2dy b3VwICptZW1jZywgKm9sZF9tZW1jZzsKIAogCW9sZF9tZW1jZyA9IHNldF9hY3RpdmVfbWVtY2co cGFyZW50KTsKLQltZW1jZyA9IG1lbV9jZ3JvdXBfYWxsb2MoKTsKKwltZW1jZyA9IG1lbV9jZ3Jv dXBfYWxsb2MocGFyZW50KTsKIAlzZXRfYWN0aXZlX21lbWNnKG9sZF9tZW1jZyk7CiAJaWYgKElT X0VSUihtZW1jZykpCiAJCXJldHVybiBFUlJfQ0FTVChtZW1jZyk7Ci0tIAoyLjQzLjAuNDI5Lmc0 MzJlYWEyYzZiLWdvb2cKCg== --000000000000acf02c060f8fab3d--