Sage Weil wrote:Yes and the fact that the client will be forced to go over the wire for each readdirplus() call, whereas it can use cached information today. An application actually waiting on the response to a READDIRPLUS will not be pleased at the resulting performance. This would seem to minimize the value as far as I understand the requirements here. I don't see where the parallelism comes from. Before issuing the READDIRPLUS over the wire, the client would have to ensure that each and every one of those flushes was completed. I suppose that a sufficiently clever and complex implementation could figure out how to schedule all those flushes asynchronously and then wait for all of them to complete, but there will be a performance cost. Walking the caches for all of those inodes, perhaps using several or all of the cpus in the system, smacking the server with all of those WRITE operations simultaneously with all of the associated network bandwidth usage, all adds up to other applications on the client and potentially the network not doing much at the same time. All of this cost to the system and to the network for the benefit of a single application? That seems like a tough sell to me. This is an easy problem to look at from the application viewpoint. The solution seems obvious. Give it the fastest possible way to read the directory and retrieve stat information about every entry in the directory. However, when viewed from a systemic level, this becomes a very different problem with many more aspects. Perhaps flow controlling this one application in favor of many other applications, running network wide, may be the better thing to continue to do. I dunno. ps - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Benjamin Herrenschmidt | Re: [PATCH] Remove process freezer from suspend to RAM pathway |
| Daniel Walker | Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS] |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Andrew Morton | -mm merge plans for 2.6.23 |
git: | |
| David Miller | [GIT]: Networking |
| Hannes Eder | [PATCH 01/43] drivers/net/at1700.c: fix sparse warning: symbol shadows an earlier ... |
| Gerrit Renker | [PATCH 16/37] dccp: API to query the current TX/RX CCID |
| Herbert Xu | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
