From owner-freebsd-fs@freebsd.org Wed May 22 15:50:22 2019 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3904E15AF632; Wed, 22 May 2019 15:50:22 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9616B8BF48; Wed, 22 May 2019 15:50:21 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from onlyone.not-for.work (onlyone.not-for.work [IPv6:2a01:4f8:201:6350::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: lev/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 15441127E1; Wed, 22 May 2019 15:50:21 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from [192.168.23.186] (unknown [89.113.128.32]) (Authenticated sender: lev@serebryakov.spb.ru) by onlyone.not-for.work (Postfix) with ESMTPSA id BA68818C29; Wed, 22 May 2019 18:50:16 +0300 (MSK) Reply-To: lev@FreeBSD.org Subject: Re: Commit r345200 (new ARC reclamation threads) looks suspicious to me - second potential problem To: Alexander Motin , Mark Johnston Cc: freebsd-fs@freebsd.org, freebsd-hackers@freebsd.org References: <369cb1e9-f36a-a558-6941-23b9b811825a@FreeBSD.org> <20190520164202.GA2130@spy> <28c7430b-fb7c-6472-5c1b-fa3ff63a9e73@FreeBSD.org> From: Lev Serebryakov Openpgp: preference=signencrypt Autocrypt: addr=lev@FreeBSD.org; prefer-encrypt=mutual; keydata= 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 Organization: FreeBSD Message-ID: <94d051a3-3427-7a5b-efe7-169cff2265d3@FreeBSD.org> Date: Wed, 22 May 2019 18:50:10 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <28c7430b-fb7c-6472-5c1b-fa3ff63a9e73@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="BlV7hosPIwYhYCaZHvapg666riVhkmAeN" X-Rspamd-Queue-Id: 9616B8BF48 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.978,0]; ASN(0.00)[asn:11403, ipnet:96.47.64.0/20, country:US] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 May 2019 15:50:22 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --BlV7hosPIwYhYCaZHvapg666riVhkmAeN Content-Type: multipart/mixed; boundary="JQ4hsq8GWofW47oUNQaui45CORKWOjTpL"; protected-headers="v1" From: Lev Serebryakov Reply-To: lev@FreeBSD.org To: Alexander Motin , Mark Johnston Cc: freebsd-fs@freebsd.org, freebsd-hackers@freebsd.org Message-ID: <94d051a3-3427-7a5b-efe7-169cff2265d3@FreeBSD.org> Subject: Re: Commit r345200 (new ARC reclamation threads) looks suspicious to me - second potential problem References: <369cb1e9-f36a-a558-6941-23b9b811825a@FreeBSD.org> <20190520164202.GA2130@spy> <28c7430b-fb7c-6472-5c1b-fa3ff63a9e73@FreeBSD.org> In-Reply-To: <28c7430b-fb7c-6472-5c1b-fa3ff63a9e73@FreeBSD.org> --JQ4hsq8GWofW47oUNQaui45CORKWOjTpL Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 22.05.2019 18:19, Alexander Motin wrote: >>> But looks like `arc_kmem_reap_soon()` is synchronous on FreeBSD! So,= >>> this `delay()` looks very wrong. Am I right? >=20 > Why is it wrong? One second pause after synchronous operation to wait it completion? There one more questionable piece of code: 6936 static void 6937 arc_lowmem(void *arg __unused, int howto __unused) 6938 { =2E... 6947 arc_reduce_target_size(to_free); 6948 =09 6949 mutex_enter(&arc_adjust_lock); 6950 arc_adjust_needed =3D B_TRUE; 6951 zthr_wakeup(arc_adjust_zthr); 4587 static void 4588 arc_reduce_target_size(int64_t to_free) 4589 { =2E.. 4612 if (asize > arc_c) { 4613 DTRACE_PROBE2(arc__shrink_adjust, uint64_t, asize, 4614 uint64_t, arc_c); 4615 /* See comment in arc_adjust_cb_check() on why lock+flag */ 4616 mutex_enter(&arc_adjust_lock); 4617 arc_adjust_needed =3D B_TRUE; 4618 mutex_exit(&arc_adjust_lock); 4619 zthr_wakeup(arc_adjust_zthr); 4620 } 4621 } Looks like lock/flag/wakeup sequence (which is now very cheap =E2=80=94 = mutexes are not cheap, and this mutex could become contended in low-memory situation) could be called twice. Looks like `arc_reduce_target_size()` should return boolean value and unconditional signalling in `arc_lowmem()` should become conditional. --=20 // Lev Serebryakov --JQ4hsq8GWofW47oUNQaui45CORKWOjTpL-- --BlV7hosPIwYhYCaZHvapg666riVhkmAeN Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE+W0coLX0MYtnSzMK6rA8WL/cR48FAlzlb7JfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEY5 NkQxQ0EwQjVGNDMxOEI2NzRCMzMwQUVBQjAzQzU4QkZEQzQ3OEYACgkQ6rA8WL/c R48Euw/8DRFP4xmKsRGd0YSZC8HIxEi2Sk7PvgPe6IH4bOMDyJac85OlNl+ME82J pyLA9smqMktiApB8u0phtI6qciM91fQsmfJiBfEwWCNywXTKp0RsQ6ItimYPLaq4 PLkm8L/ldI5JjJXlGw6lEIJznWsmF4ZwGxjbev3ET+4PNkIJVSySJUG46suVL8SQ noxSpM9FZyYcwAho3NQ+q0MhaBqnYFiTQyK+yKFyNoK6XBbdaSI87VlYjeSmqeao F28qyTCUmOqbqp1vmKEAgqdxjpFGG+fp2/2nn2wqg4AyF61omRST7oSKwByDcBD4 X7z6RcniB4GVaGpGlzCZA48CwsNuYsZiIP1iuBYc876UNFvTJVRn9UuUb2zsMYRS 67Meq84DLWbwm7wACO8CB8RF3DwOQ1d10G0qfKmqzl9hx6sMRnIKKmZIN/HJgpNI 7QZrPpS8VZrYpoW8u0bvIsP9CqpUjFnD1WGyA1HOXeMaDspPlrKH1wF1E9MrpvqT 8xA7OYdKkdAEvia9OszerJz0YLtZTukQxDPPPPigR9twFAr2IKRJ7nzrfojjhVRL p0XPYuBzukhZRs+uecc+Zy+LjnszwcLJclDyE7yk7fvg8EjE1Rl6ux4h8jV7HrXa YRq1cc1hHO2cM3xvdo68IkB/5X4xjkX5C1fEuDZVzubokV6eilw= =wRGm -----END PGP SIGNATURE----- --BlV7hosPIwYhYCaZHvapg666riVhkmAeN--