delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/03/05/01:37:38

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: <CAKAoaQkR+W_tRCkZkrXws6V0DhuLqKo6U4idGEpMOS7v_N5biQ AT mail DOT gmail DOT com>
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: <CAKAoaQkR+W_tRCkZkrXws6V0DhuLqKo6U4idGEpMOS7v_N5biQ@mail.gmail.com>
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Jakob Bohm via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Jakob Bohm <jb-cygwin AT wisemo DOT com>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019