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 C97E5C27C55 for ; Wed, 5 Jun 2024 03:04:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4C6BF6B0093; Tue, 4 Jun 2024 23:04:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4786A6B0095; Tue, 4 Jun 2024 23:04:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3199D6B0096; Tue, 4 Jun 2024 23:04:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 101D56B0093 for ; Tue, 4 Jun 2024 23:04:10 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B74281C11EB for ; Wed, 5 Jun 2024 03:04:09 +0000 (UTC) X-FDA: 82195341018.23.43DFADB Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by imf26.hostedemail.com (Postfix) with ESMTP id EBAD014000D for ; Wed, 5 Jun 2024 03:04:07 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=CJpBazOp; spf=pass (imf26.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717556648; a=rsa-sha256; cv=none; b=tlkqSONYD7KbyjP1laomsYhe2zokSxSVGAZjSxujzspHmoVeZpanq7Y7hBYBsqHNQlfo2g 4aLRQKGBeVE9fL86Rip4ZZXUBy1NN9ly9KcEOr61g6+ObFuK31dpqVx8gMQTd3FMiXIP4Q efjUY5EPmNJNmD7OD+FE65DAz8EJxd4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=CJpBazOp; spf=pass (imf26.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717556648; 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=UP5Y9jEQGfZwA2FjZqhCdBAPb8KCPJQ0fFNkt2OocLA=; b=bjs1Fdyu0WgPpbhT132B0ftziauu+B215nk0nYwQnOlL2ECWARlok5hmcdQQZ/B3mp5y9s dmZJUXMo6AXrjb88y2KHzNVOcEi4sT5JtdVHYkjgnCRGxrsxSh+KDiKsGBV7RFXmhJ0XHd niU8/uLYFrwvg2WwjyB+RGwUuaFnZME= Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-a6302bdb54aso786126666b.0 for ; Tue, 04 Jun 2024 20:04:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717556646; x=1718161446; 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=UP5Y9jEQGfZwA2FjZqhCdBAPb8KCPJQ0fFNkt2OocLA=; b=CJpBazOpTgLcoO4X7JBNZdwS4JU8+KQ/FcqsUd3ZkSW38hcwpEWn+KWmvtWBW8p8G3 TytjalxHcYB06DzKJGXMACHOWD+Yo6iwRigNN9Szi5dxP0uIT8hNWGrU3RL1Qgcm2dGT R1Xe/MFk42FD3YYOonmE7SZpQGKDIsqxK1b4BzGZ4H+QsSDDfYi+37uosn3DXnT3vXau gq7torLEbaC3lF3KALKMlBlIv4DtyhmvAKniqUS0eMlTTCXyddhTzsOfiVD0bvKoAJPn YnKQfUSqAXFczAyUPGfmrVR/54E1/aEX/+wWWYRWvvAvh59dPPztgbRsiRhU1+FGcNo7 0akA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717556646; x=1718161446; 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=UP5Y9jEQGfZwA2FjZqhCdBAPb8KCPJQ0fFNkt2OocLA=; b=kDZxzZ89s+gMCccUp4SfTW9kUOj/kPf9IXfVdeCh0NEWEgCqIgckrMa35njzYZlqkN Uc0sPpNEa8pD6L6yKYlmxskYh+yWQFDcOtTutMijWrrM26ZuV9ec7r4r12972TdZp6n0 C0axJqxtntwotlgNhFk7uiAHDDENdMamD/y+7sXr6VXo+O6hpVp6zxZBhJVtG8f56aSh dZh520heCUT05cgIUjDTjQRaQMpxJnaiigrPGnTLLeOMJXxpmYV0GNykUNw2rAxS15Js WqO2pECt1JfEeWhKH66sySCTZejc+TZ6VEiEXUEPXwrIGxK0XxsvQi+jNBf5e8HWoJlq GiHQ== X-Forwarded-Encrypted: i=1; AJvYcCWIdjdWDKGC+jeQekIvu/AXEIBJQKDi7UfYXK1hbyxT/8M0zrrj5zDard8g+/GxPRZUkIWTDwq9Lsi2fqpY1H1ksig= X-Gm-Message-State: AOJu0YymVwBOACy4pP6n/bfIErrl3VhyBRNE2VCBLrY2gu//NvIQY9Fu lP6HmQfgPFHLHjD1cY+EOZy+Tg8yisi91Evi+8rhcRsLUMI3jm9nPBxczE1k+KtAVFncoIrmuc9 kFgaBHxA4dbEGD3ZH0H7sh118yv0vNd5EKvCW X-Google-Smtp-Source: AGHT+IHLH2L6e5+a3o6QycZ9mGWF+toqbi7CwjPpbmZ5QFg26qSMA5glfHf5s69FDa48hkQ2qF3qMFXy5Sd7kK3HKh4= X-Received: by 2002:a17:906:1c11:b0:a63:4e5a:a240 with SMTP id a640c23a62f3a-a699f34a8ecmr72306266b.6.1717556646011; Tue, 04 Jun 2024 20:04:06 -0700 (PDT) MIME-Version: 1.0 References: <20240508202111.768b7a4d@yea> <20240515224524.1c8befbe@yea> <20240602200332.3e531ff1@yea> <20240604001304.5420284f@yea> <20240604134458.3ae4396a@yea> <20240604231019.18e2f373@yea> In-Reply-To: <20240604231019.18e2f373@yea> From: Yosry Ahmed Date: Tue, 4 Jun 2024 20:03:27 -0700 Message-ID: Subject: Re: kswapd0: page allocation failure: order:0, mode:0x820(GFP_ATOMIC), nodemask=(null),cpuset=/,mems_allowed=0 (Kernel v6.5.9, 32bit ppc) To: Erhard Furtner Cc: Yu Zhao , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Johannes Weiner , Nhat Pham , Chengming Zhou , Sergey Senozhatsky , Minchan Kim Content-Type: multipart/mixed; boundary="000000000000c4f0d6061a1bd166" X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: EBAD014000D X-Stat-Signature: qot4ixfkh3gfw4g3damz1msuj6kepogz X-HE-Tag: 1717556647-659071 X-HE-Meta: U2FsdGVkX18QJlHOOEB9kAg+yL+pmdm33/cvhUQcjH+jKDo7+CC+dfL2cUi8W52/3a7jXTM6b3sjTmictV4heCzQ0y0KNOxhu2p1+0HKUNI+EhX9Jwmf/Fzhb//m3DUYIDtM7LA4dXnjqFfyHsSfoLgWR40W171Z2eG+2sSVy7YQYGkJAZxB2X/mj3CeTNs90Gz1O57+rZV2wUNgAg22MKG0Fdedo834Xt/QYgUHfHtlQgCgPmwHZs+Cv5B9JD++xdVmogxBhLREzspgWBXFjnT6ExryU+sMjZ6Y+FVnofwoDWAYfgFd3S7QRW7RQnm7gz6d+zXE3eVJokDymhJNSI+3eCU1em6EV3ancvoocJJRdZlTFuz3Bp5n2xkx3Tqi4V4g+mksRrpjpuJ1hLFIFzbTPZBcddSAaC7GpJTlIlvWIsCj4bQpvb2lpti8AnvwyTagGFx2FLICdtdRubOkIO9Jwn+EA4jl4Mn258wHiCH2CdMfXG4PCKork9kgfSV0qRYmwLGhPT/kPe0CmrtWx981lxNF75MY2MR0nsZZyraPXEakCvmWbrgrtXebQ7pNMy8mXAInwTcjF4hiEp7addlo3+7FmGF0jQ0fQlj5PrN+JV8Q656uGbpJaxHeuwDCzQ8OmVkrl1OQbCXLKCmaySDuON88bItfLO9wW+qPOdGbGLt8VZ9hwhPtUuRiHAXc2f+KEYGRaXrsET0Qf2ONU044ne7pMIb+OBlwv9Cxacnixss9QX6zYGQYDN6iMjqDUEABTGqbpDFReUn9TM4cA1Zsai7UuNVlmAggggFbraSio5hi7KGHvbEbrRMl2CcU7XsEs5mIZsjXzi6yh5zp+C18/w6nCQ/cJnqZIeUi8aw9xH92N1PorebD3YOSYT203gW6hFMssWPyIlg4xBNhzk6eNyY2caMviznk1SwrUVIjdpeOexhHfrTRXM8v8aBkLtbmTmh/Z7huI3uMboi KUqsK6H0 kJzlZPQhyZxvtcOVZpvyRge1djiok5q7pw+38wB8j/hhqRCe4yOu5FUcHAYCD0VMG8AhCk0H+mwxhqFY8SFrakyHFXZyQsR37sECbBz+G34tZxzp+AMLaKbgba3X8OCRhVsVKJpD9cWLBpKskOKp07+W+cATHhgaxDJyoWL5MroX+PoQc+FdFT3vFGP/ewbZ8j+ES69Ad/QAWP4whObG84dWDHrqH1f6G0C2ycyFY9+LAtN0nOjTg3VRJx/FDNIovFWkhW1MFn6hSU2mrUNvgF1nmMYJK4M/Gkfq6W40Mh8PyhMEzFlBJKVrhQeu86ZlgtF1zLmnMT0cIvcJ4ufSrEgyS9ZwGrxLuexlJF5rxQobk3gRnfM2RPQgEX7c3euw9IHDoqmzwH1M/hebxpz5khsnbaQODahuuqCYiZBX5cT6eIAftecxu1EGzJsIJFo4uxbT3UzA7pCdrrqE= X-Bogosity: Ham, tests=bogofilter, spamicity=0.002293, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --000000000000c4f0d6061a1bd166 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jun 4, 2024 at 2:10=E2=80=AFPM Erhard Furtner wrote: > > On Tue, 4 Jun 2024 11:01:39 -0700 > Yosry Ahmed wrote: > > > How many CPUs does this machine have? I am wondering if 32 can be an > > overkill for small machines, perhaps the number of pools should be > > max(nr_cpus, 32)? > > This PowerMac G4 DP got 2 CPUs. Not much for a desktop machine by todays = standards but some SoCs have less. ;) > > # lscpu > Architecture: ppc > CPU op-mode(s): 32-bit > Byte Order: Big Endian > CPU(s): 2 > On-line CPU(s) list: 0,1 > Model name: 7455, altivec supported > Model: 3.3 (pvr 8001 0303) > Thread(s) per core: 1 > Core(s) per socket: 1 > Socket(s): 2 > BogoMIPS: 83.78 > Caches (sum of all): > L1d: 64 KiB (2 instances) > L1i: 64 KiB (2 instances) > L2: 512 KiB (2 instances) > L3: 4 MiB (2 instances) > > Regards, > Erhard Could you check if the attached patch helps? It basically changes the number of zpools from 32 to min(32, nr_cpus). --000000000000c4f0d6061a1bd166 Content-Type: application/octet-stream; name="0001-mm-zswap-do-not-scale-the-number-of-zpools-unnecessa.patch" Content-Disposition: attachment; filename="0001-mm-zswap-do-not-scale-the-number-of-zpools-unnecessa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lx18usbm0 RnJvbSBlYjJiYWY2ZjM0OTc5MzZlYzU2ZmUxN2UyMmFmNWI1YWRkNjI0MzcxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZb3NyeSBBaG1lZCA8eW9zcnlhaG1lZEBnb29nbGUuY29tPgpE YXRlOiBXZWQsIDUgSnVuIDIwMjQgMDI6NTg6MTEgKzAwMDAKU3ViamVjdDogW1BBVENIXSBtbTog enN3YXA6IGRvIG5vdCBzY2FsZSB0aGUgbnVtYmVyIG9mIHpwb29scyB1bm5lY2Vzc2FyaWx5Cgpa c3dhcCBhbGxvY2F0ZXMgc2V2ZXJhbCB6cG9vbHMgcGVyIHpzd2FwIHBvb2wgZm9yIHNjYWxhYmls aXR5LiBJdApjdXJyZW50bHkgYWxsb2NhdGVzIDMyIHpwb29scywgYW4gZW1waXJpY2FsbHkgZGV0 ZXJtaW5lZCBtYWdpYyBudW1iZXIuCgpGb3Igc21hbGwgbWFjaGluZXMgdGhhdCBoYXMgbGVzcyB0 aGFuIDMyIENQVXMsIHRoaXMgZG9lc24ndCBtYWtlIG11Y2gKc2Vuc2UuIEFsbG9jYXRpbmcgbW9y ZSB6cG9vbHMgdGhhbiBDUFVzIHdpbGwgbm90IHNpZ25pZmljYW50bHkgaW5jcmVhc2UKc2NhbGFi aWxpdHksIGJ1dCBpdCBtYXkgaW5jcmVhc2UgaW50ZXJuYWwgZnJhZ21lbnRhdGlvbiBkdWUgdG8g c3ByZWFkaW5nCm9mIGNvbXByZXNzZWQgcGFnZXMgYW1vbmcgZGlmZmVyZW50IHpwb29scy4KCmRl dGVybWluZWQgYXQgYm9vdCBhcyB0aGUgc21hbGxlciBvZiAzMiBhbmQgdGhlIG51bWJlciBvZiBD UFVzLgoKU2lnbmVkLW9mZi1ieTogWW9zcnkgQWhtZWQgPHlvc3J5YWhtZWRAZ29vZ2xlLmNvbT4K LS0tCiBtbS96c3dhcC5jIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL21tL3pzd2FwLmMgYi9tbS96c3dhcC5jCmluZGV4IGE1MGUyOTg2Y2QyZmEuLjljNGE2 ZDMwOWIyM2MgMTAwNjQ0Ci0tLSBhL21tL3pzd2FwLmMKKysrIGIvbW0venN3YXAuYwpAQCAtMTIz LDggKzEyMyw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgenN3YXBfYWNjZXB0X3Rocl9wZXJjZW50 ID0gOTA7IC8qIG9mIG1heCBwb29sIHNpemUgKi8KIG1vZHVsZV9wYXJhbV9uYW1lZChhY2NlcHRf dGhyZXNob2xkX3BlcmNlbnQsIHpzd2FwX2FjY2VwdF90aHJfcGVyY2VudCwKIAkJICAgdWludCwg MDY0NCk7CiAKLS8qIE51bWJlciBvZiB6cG9vbHMgaW4genN3YXBfcG9vbCAoZW1waXJpY2FsbHkg ZGV0ZXJtaW5lZCBmb3Igc2NhbGFiaWxpdHkpICovCi0jZGVmaW5lIFpTV0FQX05SX1pQT09MUyAz MgorLyogTnVtYmVyIG9mIHpwb29scyBpbiB6c3dhcF9wb29sICovCitzdGF0aWMgdW5zaWduZWQg aW50IG5yX3pzd2FwX3pwb29scyBfX3JvX2FmdGVyX2luaXQ7CiAKIC8qIEVuYWJsZS9kaXNhYmxl IG1lbW9yeSBwcmVzc3VyZS1iYXNlZCBzaHJpbmtlci4gKi8KIHN0YXRpYyBib29sIHpzd2FwX3No cmlua2VyX2VuYWJsZWQgPSBJU19FTkFCTEVEKApAQCAtMTU2LDcgKzE1Niw3IEBAIHN0cnVjdCBj cnlwdG9fYWNvbXBfY3R4IHsKICAqIG5lZWRzIHRvIGJlIHZlcmlmaWVkIHRoYXQgaXQncyBzdGls bCB2YWxpZCBpbiB0aGUgdHJlZS4KICAqLwogc3RydWN0IHpzd2FwX3Bvb2wgewotCXN0cnVjdCB6 cG9vbCAqenBvb2xzW1pTV0FQX05SX1pQT09MU107CisJc3RydWN0IHpwb29sICoqenBvb2xzOwog CXN0cnVjdCBjcnlwdG9fYWNvbXBfY3R4IF9fcGVyY3B1ICphY29tcF9jdHg7CiAJc3RydWN0IHBl cmNwdV9yZWYgcmVmOwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKQEAgLTI2OCw3ICsyNjgsMTQg QEAgc3RhdGljIHN0cnVjdCB6c3dhcF9wb29sICp6c3dhcF9wb29sX2NyZWF0ZShjaGFyICp0eXBl LCBjaGFyICpjb21wcmVzc29yKQogCWlmICghcG9vbCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlmb3Ig KGkgPSAwOyBpIDwgWlNXQVBfTlJfWlBPT0xTOyBpKyspIHsKKwlwb29sLT56cG9vbHMgPSBrY2Fs bG9jKG5yX3pzd2FwX3pwb29scywgc2l6ZW9mKHBvb2wtPnpwb29sc1swXSksCisJCQkgICAgICAg R0ZQX0tFUk5FTCk7CisJaWYgKCFwb29sLT56cG9vbHMpIHsKKwkJcHJfZXJyKCJ6cG9vbHMgYWxs b2MgZmFpbGVkXG4iKTsKKwkJZ290byBlcnJvcjsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbnJf enN3YXBfenBvb2xzOyBpKyspIHsKIAkJLyogdW5pcXVlIG5hbWUgZm9yIGVhY2ggcG9vbCBzcGVj aWZpY2FsbHkgcmVxdWlyZWQgYnkgenNtYWxsb2MgKi8KIAkJc25wcmludGYobmFtZSwgMzgsICJ6 c3dhcCV4IiwKIAkJCSBhdG9taWNfaW5jX3JldHVybigmenN3YXBfcG9vbHNfY291bnQpKTsKQEAg LTMxMiw4ICszMTksMTEgQEAgc3RhdGljIHN0cnVjdCB6c3dhcF9wb29sICp6c3dhcF9wb29sX2Ny ZWF0ZShjaGFyICp0eXBlLCBjaGFyICpjb21wcmVzc29yKQogZXJyb3I6CiAJaWYgKHBvb2wtPmFj b21wX2N0eCkKIAkJZnJlZV9wZXJjcHUocG9vbC0+YWNvbXBfY3R4KTsKLQl3aGlsZSAoaS0tKQot CQl6cG9vbF9kZXN0cm95X3Bvb2wocG9vbC0+enBvb2xzW2ldKTsKKwlpZiAocG9vbC0+enBvb2xz KSB7CisJCXdoaWxlIChpLS0pCisJCQl6cG9vbF9kZXN0cm95X3Bvb2wocG9vbC0+enBvb2xzW2ld KTsKKwkJa2ZyZWUocG9vbC0+enBvb2xzKTsKKwl9CiAJa2ZyZWUocG9vbCk7CiAJcmV0dXJuIE5V TEw7CiB9CkBAIC0zNjksOCArMzc5LDkgQEAgc3RhdGljIHZvaWQgenN3YXBfcG9vbF9kZXN0cm95 KHN0cnVjdCB6c3dhcF9wb29sICpwb29sKQogCWNwdWhwX3N0YXRlX3JlbW92ZV9pbnN0YW5jZShD UFVIUF9NTV9aU1dQX1BPT0xfUFJFUEFSRSwgJnBvb2wtPm5vZGUpOwogCWZyZWVfcGVyY3B1KHBv b2wtPmFjb21wX2N0eCk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgWlNXQVBfTlJfWlBPT0xTOyBpKysp CisJZm9yIChpID0gMDsgaSA8IG5yX3pzd2FwX3pwb29sczsgaSsrKQogCQl6cG9vbF9kZXN0cm95 X3Bvb2wocG9vbC0+enBvb2xzW2ldKTsKKwlrZnJlZShwb29sLT56cG9vbHMpOwogCWtmcmVlKHBv b2wpOwogfQogCkBAIC00OTYsNyArNTA3LDcgQEAgdW5zaWduZWQgbG9uZyB6c3dhcF90b3RhbF9w YWdlcyh2b2lkKQogCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHBvb2wsICZ6c3dhcF9wb29scywg bGlzdCkgewogCQlpbnQgaTsKIAotCQlmb3IgKGkgPSAwOyBpIDwgWlNXQVBfTlJfWlBPT0xTOyBp KyspCisJCWZvciAoaSA9IDA7IGkgPCBucl96c3dhcF96cG9vbHM7IGkrKykKIAkJCXRvdGFsICs9 IHpwb29sX2dldF90b3RhbF9wYWdlcyhwb29sLT56cG9vbHNbaV0pOwogCX0KIAlyY3VfcmVhZF91 bmxvY2soKTsKQEAgLTgwNSw3ICs4MTYsNyBAQCBzdGF0aWMgdm9pZCB6c3dhcF9lbnRyeV9jYWNo ZV9mcmVlKHN0cnVjdCB6c3dhcF9lbnRyeSAqZW50cnkpCiAKIHN0YXRpYyBzdHJ1Y3QgenBvb2wg Knpzd2FwX2ZpbmRfenBvb2woc3RydWN0IHpzd2FwX2VudHJ5ICplbnRyeSkKIHsKLQlyZXR1cm4g ZW50cnktPnBvb2wtPnpwb29sc1toYXNoX3B0cihlbnRyeSwgaWxvZzIoWlNXQVBfTlJfWlBPT0xT KSldOworCXJldHVybiBlbnRyeS0+cG9vbC0+enBvb2xzW2hhc2hfcHRyKGVudHJ5LCBpbG9nMihu cl96c3dhcF96cG9vbHMpKV07CiB9CiAKIC8qCkBAIC0xNzY3LDYgKzE3NzgsMTIgQEAgc3RhdGlj IGludCB6c3dhcF9zZXR1cCh2b2lkKQogCiBzdGF0aWMgaW50IF9faW5pdCB6c3dhcF9pbml0KHZv aWQpCiB7CisJLyoKKwkgKiBVc2UgbXVsdGlwbGUgenBvb2xzIGZvciBzY2FsYWJpbGl0eSwgYnV0 IGF2b2lkIGFsbG9jYXRpbmcgdG9vIG1hbnkuCisJICogMzIgaXMgYW4gZW1waXJpY2FsbHkgZGV0 ZXJtaW5lZCBtYWdpYyBudW1iZXIuCisJICovCisJbnJfenN3YXBfenBvb2xzID0gbWluKDMyVSwg bnVtX3Bvc3NpYmxlX2NwdXMoKSk7CisKIAlpZiAoIXpzd2FwX2VuYWJsZWQpCiAJCXJldHVybiAw OwogCXJldHVybiB6c3dhcF9zZXR1cCgpOwotLSAKMi40NS4xLjI4OC5nMGUwY2QyOTlmMS1nb29n Cgo= --000000000000c4f0d6061a1bd166--