Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:39806 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932479AbcLHVsr (ORCPT ); Thu, 8 Dec 2016 16:48:47 -0500 From: "Benjamin Coddington" To: "Trond Myklebust" Cc: linux-nfs@vger.kernel.org Subject: Re: Concurrent `ls` takes out the thrash Date: Thu, 08 Dec 2016 16:48:44 -0500 Message-ID: <41B5791B-E515-4EA3-85AF-CFB65A2A2D32@redhat.com> In-Reply-To: <3A6424D7-8207-4392-88C5-6CD3E1F65800@redhat.com> References: <7DA8E9BE-7353-44D5-B982-B477CF7B0A57@redhat.com> <934FC075-4393-42AD-92A3-3BC3BE580699@redhat.com> <6C5DA8AC-9A42-45FA-892C-E9597A7F7AC9@primarydata.com> <3C863AB4-D07A-494A-AD7B-87BF31496777@primarydata.com> <790E1295-EBBE-4059-9EEC-D2C9CD36EA20@redhat.com> <3A6424D7-8207-4392-88C5-6CD3E1F65800@redhat.com> MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org List-ID: > Ehh.. I think it's kinda ugly, but this is what I came up with. > > It works well, though, and handles everything I throw at it. Its not as > simple as Christoph's suggestion to just go back to .iterate, which would > solve this in a simpler way. After many testings, I can't find any way this is faster than using the old .iterate serialized readdir. Additionally, at around 1M entries, this way frequently needs to oom-kill things. Using .iterate, that doesn't happen, and is much faster at that scale. Maybe my feeble brain is unable to think of the right workload to make .iterate_shared preferable for NFS. Suggestions welcome. Otherwise, I think serialized is the way to go. Ben