DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 6256bc2v2431449 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 6256bc2v2431449 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=IstphM3b X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A86C84BA2E3D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1772692657; bh=13cIm1kzRS6Smdcq00RDPYAzl+oKDR7+OlW0yPWbqMo=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=IstphM3bCrFoO7uvd00R7ybn6izjmihRrUEOixFvvbGHeiKMRWJuObVQCY6UAOBAS zClduW7N+Echi4DzxxL0p0b2vFUbEga8/fDGa93FDcMKPhr0HZpL9YpYyIWNOM+Oql 9zeGDiRVdWZPkR14P/jdQsImfFr/rmUatVO3VS2E= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 848514BA23CE ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 848514BA23CE ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772692638; cv=none; b=DoBizxZ9+HsFuDbGStoOEJdzIMx5UwyCUhY30fW6OFXbiB6JvHjvXz7d9HjjRm4WlzDXZEMfC5YBWYrQHL32LlN2whHVhQTzWARPtnAuUQJtndvI8uT0mB2CUS0v+6/8rPQ+YhosFj8QyEDVLJtw14YySIXwDB+E5oKpNs+QdKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772692638; c=relaxed/simple; bh=FshS6RJsdokFFgo9vbMVYbf91dVRxIjo6IswSV7lOM8=; h=DKIM-Signature:Subject:To:From:Message-ID:Date:MIME-Version; b=Sni9LgzNOkWokAoEMckMW8kgIyD/InPkAuxWEjVNmrQz8h/6WhG/1gXFQi8cAffpcj/aSxjgW3pcr4jFbwPVknKk0MBdAmmdCujKynE3kaDG4XWa/pPVbSwqzbdrEBm+WZE+CMogArQBejDVdZVzpHo0jN14g6dBNYuH7KtmumQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 848514BA23CE Subject: Re: Ideas how to improve Cygwin /usr/bin/find, rm -Rf etc. performance... To: cygwin AT cygwin DOT com References: Organization: WiseMo A/S Message-ID: <09043b4b-f1fe-fde9-e236-b2970dd1662f@wisemo.com> Date: Thu, 5 Mar 2026 07:37:17 +0100 X-Mailer: Epyrus/2.1.3 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Jakob Bohm via Cygwin Reply-To: Jakob Bohm Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 6256bc2v2431449 On 02/03/2026 23:42, Roland Mainz via Cygwin wrote: > Hi! > > ---- > > Quick note (mainly for Corinna): > Cygwin 3.7.0, I noticed a possible performance improvement while > working on ms-nfs41-client: > For each file/dir listed by /usr/bin/find, rm -Rf .. etc I see two > QueryVolumeInformation (volumequery class=1 and class=4) which > technically could be cached per mount+process. > > I also recall an old confcall at SUN around |openat(dirfd, ...)|, > technically this info could also be cached per-dirfd (and inherited if > the dirfd is used to |openat()| another dir fd), making such a cache > last longer... The hard part of this is to quickly (without slowing down the total) detect if a subdirectory is a mountpoint for some other location (possibly within the same file system, yes windows has had the equivalent of bind mounts ever since the MSDOS added the JOIN command). Similarly, find --xdev etc. should stop at such subdir mounts that don't change st_dev (kernel/cygwin1 changes that assign virtual IDs to each bind mount don't work as they would hurt other uses of st_dev). A more practical way until POSIX agrees on a solution is for cygwin to keep an in-process cache per "volume serial number" from the GetFileInformaionByHandle() equivalant of fstat() Enjoy Jakob -- Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 This public discussion message is non-binding and may contain errors. WiseMo - Remote Service Management for PCs, Phones and Embedded -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple