DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 58MBuhQj1446513 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 58MBuhQj1446513 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=NBRTpLhn X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 087E03858C2F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1758542203; bh=Uw2ZwXvRcADYw7+oYVIylAQ0p3w/ej1Bak7/ADPL1pI=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=NBRTpLhnkhUJhplGCXeAYoRB7dLPlIuAFG5n3ThW8vpHDf/HX6am2pTuBSlXBpRZd g2BODkSM2jjiYhr2PUq3XOev52nf1a9PGfvdwXJr8EOLvzl8Lnpzb00AIyFaj3i/+C tl6+a+AeNRpHyPLo6eZYfSGOOljmz8DQCqupx8ok= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0F01A3858290 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0F01A3858290 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1758542178; cv=none; b=f7NQmrHCVsbw7J7JlTrcyfi52W2qYHEsrHSB5G7pL54q/1q9w2kGTvEElVUOoz5J/3swJZoyjsvPJ6Db6ck5Q482XSEQjIpY/jznKyFNeya+9jxgp1jM/ge4zmWQzFh0M9TxbfV2rHMokN46HJHSYdQzYgpAZd8A4Y7lahrLsts= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1758542178; c=relaxed/simple; bh=PiSMvhhHZOJMnCwZUCw+MvMhbM91Wgm4OdPM0NpG8l0=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=vB/30sURTgJAgJsI3AmgXZ0COR6g4jjUqUdR72KVNdLtuWV+2YtR0K47yFm3lf+ejt5PeDrDUngzwjg98oRokhgC4+2RYXiRQZewS/Hcog2rAhXWq9M+dQntbPX4gAIwf0TmkzYWEXjk5xet/ESpWnCy7VvOyvDTY/D1NH95QUw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F01A3858290 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758542176; x=1759146976; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PiSMvhhHZOJMnCwZUCw+MvMhbM91Wgm4OdPM0NpG8l0=; b=SMoaZ4HwWxEsxnedT/obdcI0BYKrRfr+9os/H0OiHK1eTlcqY/Wp92081Z20BoJWvo q9LX40ARkDo4cjGVHsuxhNwHCE24nHeZmdYx+vbP00uuvxP5HXniLugNDTRgjU+XMQ4C T3slImn+rgl4BlMTkmD1749EgUSDkR4Olk5W61JoXxvjbwK7haruJ7IK/hgEAlTApfKM cEqStX4zVPVMj2t7KX1DnCWXGkZHvky3vLpS8eCGTFsqPOg7zl1jspN49qf8ad/J1VuN 7Wyare75/8UDwtXf5jn7kBUBlirCuzaFaw/ZgfM0iUJbyAjJlHB7iRPJEAn36gvq+xP/ THhA== X-Gm-Message-State: AOJu0Ywl+qanR0j2WZj0Bd+uAEPjB11WqC3GnP8mr8FIJvuCB5gjerG7 JfrLsOegnfXotuBbviDD7GN62+EQJ5PWmlDK6BAh61plsbInObH/eynf89XPhcTigRcV/aI3BEw +1W16j6cjZuSfsA3SO6yhqkERajX8eQt3Mg== X-Gm-Gg: ASbGncvsz79r0IPEu3sZPFTXSQbkSiW9U3JBdpRZRpPFNsOrkWUkLvTjzr5ylcYTJsG FmQpLjCH6w5hpmajpF3Uu0P7Nsnd3CPRkdkfcVoUaD+3pKAqVYrHgUa+EiOiei0hNcCTD2jHYOA tlSIoJ9Jms0zNaoyYjYH9SZt1NexvSpnpdNqtWNFP9s3jkwbF1ZLWJoiG7E/dh1NVLGntc4x6Ev Ut4k2E= X-Google-Smtp-Source: AGHT+IHf9P0vQKYZ+vYGuakIRmrHI7I+z1oSsYp/vz5wAT0WrQHVMkhEv6rI05DRbrEV/c3y1BmPLe9pMrTuR5M21zk= X-Received: by 2002:a17:907:940d:b0:b07:d904:4b9c with SMTP id a640c23a62f3a-b24ee6ef767mr1228222766b.12.1758542176064; Mon, 22 Sep 2025 04:56:16 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 22 Sep 2025 13:55:39 +0200 X-Gm-Features: AS18NWCRIUjtciZZIrfg64DxUI6rlUqztwZq1bvDGRM1VLTDmXOW2ZeWCrpPGq4 Message-ID: Subject: Re: Why does Cygwin not use MiCloneProcessAddressSpace() for fork() To: cygwin AT cygwin DOT com X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Lionel Cons via Cygwin Reply-To: Lionel Cons Content-Type: text/plain; charset="utf-8" Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 58MBuhQj1446513 On Mon, 22 Sept 2025 at 12:49, Mark Liam Brown via Cygwin wrote: > > On Mon, Sep 22, 2025 at 12:35 PM Mark Liam Brown > wrote: > > > > Greetings! > > > > Why does Cygwin not use MiCloneProcessAddressSpace() for fork()? That > > function was added for the Windows Services for UNIX, and it still > > working in Windows 11. > > This is exposed to the userspace as NtCreateProcessEx() as documented > in https://github.com/huntandhackett/process-cloning That is the basis for RtlCloneUserProcess(), which AT&T UWIN and SFU use. This is also the reason why UWIN runs circles around Cygwin in terms of fork() performance, which directly affects performance of shell scripts and /bin/make. That's also the reason we still have UWIN5 in use, Cygwin has terrible fork() performance. Lionel -- 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