From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:50490 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726327AbeKFMio (ORCPT ); Tue, 6 Nov 2018 07:38:44 -0500 From: NeilBrown To: Alexander Viro , Andrew Morton Date: Tue, 06 Nov 2018 14:15:35 +1100 Cc: paulmck@linux.vnet.ibm.com, Florian Weimer , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Josh Triplett Subject: Re: [PATCH - resend] VFS: use synchronize_rcu_expedited() in namespace_unlock() In-Reply-To: <87tvm1rxme.fsf@notabene.neil.brown.name> References: <87y3nyd4pu.fsf@notabene.neil.brown.name> <20171026122743.GX3659@linux.vnet.ibm.com> <20171127144125.GF3624@linux.vnet.ibm.com> <87induxd3u.fsf@notabene.neil.brown.name> <87tvm1rxme.fsf@notabene.neil.brown.name> Message-ID: <87tvkuyjzc.fsf@notabene.neil.brown.name> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Sender: linux-fsdevel-owner@vger.kernel.org List-ID: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Fri, Oct 05 2018, NeilBrown wrote: > The synchronize_rcu() in namespace_unlock() is called every time > a filesystem is unmounted. If a great many filesystems are mounted, > this can cause a noticable slow-down in, for example, system shutdown. > > The sequence: > mkdir -p /tmp/Mtest/{0..5000} > time for i in /tmp/Mtest/*; do mount -t tmpfs tmpfs $i ; done > time umount /tmp/Mtest/* > > on a 4-cpu VM can report 8 seconds to mount the tmpfs filesystems, and > 100 seconds to unmount them. > > Boot the same VM with 1 CPU and it takes 18 seconds to mount the > tmpfs filesystems, but only 36 to unmount. > > If we change the synchronize_rcu() to synchronize_rcu_expedited() > the umount time on a 4-cpu VM drop to 0.6 seconds > > I think this 200-fold speed up is worth the slightly high system > impact of using synchronize_rcu_expedited(). > > Acked-by: Paul E. McKenney (from general rcu= perspective) > Signed-off-by: NeilBrown > --- > > I posted this last October, then again last November (cc:ing Linus) > Paul is happy enough with it, but no other response. > I'm hoping it can get applied this time.... Hi Al, this isn't in 4.20-rc1. Are you still waiting for something? Thanks, NeilBrown > > Thanks, > NeilBrown > > > fs/namespace.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/namespace.c b/fs/namespace.c > index 99186556f8d3..02e978b22294 100644 > --- a/fs/namespace.c > +++ b/fs/namespace.c > @@ -1360,7 +1360,7 @@ static void namespace_unlock(void) > if (likely(hlist_empty(&head))) > return; >=20=20 > - synchronize_rcu(); > + synchronize_rcu_expedited(); >=20=20 > group_pin_kill(&head); > } > --=20 > 2.14.0.rc0.dirty --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEG8Yp69OQ2HB7X0l6Oeye3VZigbkFAlvhB1cACgkQOeye3VZi gbnV2BAAlCVNzLY4N+BoSw9ckHCCi7ml0swun22exfC7j1z/zcy9EbnAArSPlcD9 9ZkG6F+LsDf5yuHyzwJxOQ8bhhkfs2MINrGm5F+J/ZfEY0y4R7dR8o3zPrbrydmO 5fbafqTdrqTg3+LgqC2TJnE93naJ5enrRjK1PqMlMo7NfFh9P3YG0mOa8QrF3RfV FhEaOqlfPZ9tG2ZyiyIcRh41M/YcjfHT61g+yz85AT7kn7odPYLeDhE1gnlm13iN l8H8OnoGvDfB9PCGgjQFXyP3SnTlu1GGjE2GjW+U4NQUEusRu85CcPlfJpRX+OpZ azMhXsOzkjdnn8fGHy78kGANQh3EzrbxwALlISbe35joCMB9bIxAHDjBSnBXm74C Jdh9P6vzfL70WRrI1Ln1UuZi7kNVHejPE7+WD8hCBM2bBuUecsn3fxPOf4uTl0JJ y80W3S7ppISQ5LN7x1dQ9LM/Fi7Ya0onggE+3YC/mlF/oqKT/BA6VHXVJmKy3Gmd i5RWU4NNFy+4P9uKArDjZIeUiulZCN22C9Q+l7e7sKfpOYLJMr+MoM6D+i2/BXWA bH8T+xC25Olau2uHfl1LfKmVrQ5/CHj2bLqO2xnCWc10pCeQjNLGvDqU84K7OgX5 KgNLDceu6b2H9gNBACrThnIaJRougJSzUZQry/Gy78D1CQW2idc= =zXDp -----END PGP SIGNATURE----- --=-=-=--