DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4B2KCJNh1991428
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 4B2KCJNh1991428
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=HXgK0/Rg
X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D1845385840A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1733170338;
	bh=e8tJqc4np6VdPdhBNc/tUtmNNlyb/28TjpARBepUlW8=;
	h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=HXgK0/RgmRh1WPmnbVsu1Ttjz/iYtksLb30fffOMkHZWgHN5jZxQyrWAr5O4xsDbe
	 aLZ0bseR3iNbnMABM6CiHovv5dPdnbYDtgRJmIS7WDqKxFFIW+GCtB3BJ6JFDQKtDJ
	 Qi6fHusN51uu1t96B4ZqFTpmFduvok/eTT3LUQRs=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B21FD3858C5F
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B21FD3858C5F
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1733170269; cv=pass;
 b=IJ2ZSB7UCfTz7kJdaNAyvPtQJker35tdXNnLuapXYYzzTnMn6BNUv8INbMTk/I2Z/RvPw85lk/Y8/KjW+xDFbGRABL1fQbZPyD+3LBsycOfOm0jWnEbB8rqS7VdRl3Zt/8GfJsqTTYys+qPLa5wF6c24vo0re4IsG5+c6owD8gc=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
 t=1733170269; c=relaxed/simple;
 bh=DrGSpqBHRiJH7GUelQctUloCOSu7tXROJa8SmDIOfsE=;
 h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;
 b=i4nahkCBIE7ypW1rl2z1mMb1txH4XHXaxQwVq5VAHG5yShMODhNrW0JsydD5KLl4Hl4J7cTixm9c1bX3DK0JnHLqidDkf8zRNi+OjmpwRCsCgLdpQ1l4redEALjPj0jjhYDiylwDEvS69lgZ4xUqFTZnyz/tZXyA0ivpTcxxysU=
ARC-Authentication-Results: i=2; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B21FD3858C5F
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=icQEFoJ2+4yk211CTDAQRpZS4oACIMt4BGxIXCxx84donnUS3iYZ/RL5yf25eokvouB/qQ22LG4hCNxmcVVbBA69OOQ8wxqv/8WANJr2Bz3d4dRXs5hlntofn/yR78vqghuZjt8TLYUKq2l5tqLtoUOEFxLZKWrnCZjrZpRfIRscVI/t7Ql2PHkiXueKaAvdCf4VmLEKjhGNFAfThPz5KbjPAjcv6IFhDHfy5pO4W8CefzM3/qs04arVXIchhVSn7oZFWggM++LAf3GhIgwUp8MA9cGnF2X9xu6zEC+gPfL/Ql2HJW8gwewGK4Zt42Dk8LchvZSvyr3YnsssUpsFag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DrGSpqBHRiJH7GUelQctUloCOSu7tXROJa8SmDIOfsE=;
 b=K3uJQm7aW+t8vfIrY0CE45+SqAqNvFYymABXn+LhqA8px2i79XhyDDy9+RKOU40mY3v5ptyCubnC5cd0cdEU4nx8YTqGKB13uifhDGQQs3uNMu24tvoyT7oA3ml86S/UiMZqLQyB7E3Uve4DsqqhvAuU6RWcavjwXNTsqX1s8+qeryJo3QWwA75AqlSi8AoZ5iqcBubSK5lTgM0vNViemPL9gdCOnQ5OpfTwY1U8pOy8WopVbQ0hadXzYlWlXjaWy8Jp9LZoimOjqDC911qV9UTSxtXdEzyktpQi4PsSGjme+eq928o2FO2z2szBTsp8p6KI8ipIRCCGudct1LmA0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: Re: Calling GetConsoleProcessList in tight loop allocates new buffer
 via condrv ioctl results in excessive page-faults with Windows
 Terminal
Thread-Topic: Calling GetConsoleProcessList in tight loop allocates new buffer
 via condrv ioctl results in excessive page-faults with Windows
 Terminal
Thread-Index: AQHbRPMcd9qU498ldEyUKLvAgrLCnrLTYiZO
Date: Mon, 2 Dec 2024 20:11:06 +0000
Message-ID: <PH7PR11MB6452B7AB0BAF876EDF4F4947A4352@PH7PR11MB6452.namprd11.prod.outlook.com>
References: <PH7PR11MB64522B9A097A9A5D963E5C23A4352@PH7PR11MB6452.namprd11.prod.outlook.com>
In-Reply-To: <PH7PR11MB64522B9A097A9A5D963E5C23A4352@PH7PR11MB6452.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH7PR11MB6452:EE_|LV8PR11MB8583:EE_
x-ms-office365-filtering-correlation-id: c74f301f-bc31-409f-7524-08dd130d744e
x-microsoft-antispam: BCL:0;
 ARA:14566002|15080799006|461199028|9400799027|12050799009|19110799003|8060799006|8062599003|15030799003|1602099012|10035399004|102099032|440099028|4302099013|3412199025;
x-microsoft-antispam-message-info: =?us-ascii?Q?DySWMsBssANHuSYMp9iMHZkU2diegNstw9VLiYH84OZ9N3yv1T26IVpNgmoF?=
 =?us-ascii?Q?L5t+D4gsMRz/8zUB3KCP0HuCH19xQP0F2dFh2TpM97YRjjT5OicNHY1Ywy/P?=
 =?us-ascii?Q?P0w0Q2WdyI0rdBbCv3ApJbk5bEhe7H/SIARa+fZIiNVlwEkn1jv3PePn0P8O?=
 =?us-ascii?Q?G1jWk/en2YYoOW7J7MSp7m8AtTE7qhWxft3Mrianpew65jurbN5Ox2KZaPfD?=
 =?us-ascii?Q?IV8yFflsWHqPW3RLwKN/F4UStkYVd4RqkeGDdyBZZEJRcVfwyKmlrEpxLeeM?=
 =?us-ascii?Q?2qDLysQeTBoB6fLqXIgDi48s6V7+/LPQfnYNAk6O1anfdPVt1uXZMxmet51r?=
 =?us-ascii?Q?3JRVGqD4El9g3dxBPB4UFYrZprwfnwcs2pJ4drZT8UKyf/XmkHLyCvYtObS8?=
 =?us-ascii?Q?MJbOXwHA+cHncHQb4QN6bu2vXdKpOBwJYOpB22QyKxETxWwHCpuHAeRcJPbU?=
 =?us-ascii?Q?52CredJpTe/ymwxHOBxAqo+YEZ9avKBmi1dDYKDF8q0L7l798ipWFxfPLFEK?=
 =?us-ascii?Q?XRjVEcT8qjmTt4zHcJ6+b5nkS1h2YetyRZCXtAi/KC6aDnajpTZV9prfzGHq?=
 =?us-ascii?Q?9mVsC8GHoIsJzsepr1ajehlcEAtZsAZ62zBdrvq/7+d9SfbOPhwFPHPS/C5G?=
 =?us-ascii?Q?R4OJ6UUBXgLzAYsfocDird/g+mVyv0Bgeoh8Tbh1Bq+iFsC3THRJ7WqQr5sQ?=
 =?us-ascii?Q?4ad/ECw5MEXr9xGVCUFWJ5EVAwuOC/DkTFgL6MsiRPb0P2Sq640BEX5OcBJj?=
 =?us-ascii?Q?KuurYfFHhK8Uwo3ph0rMmO8K73+hX+64FtXYatPTFuk1hBJvm/euW3KlV0yO?=
 =?us-ascii?Q?9f+FpVxRzmaHMNzDcU0s+BbvEAGpAqtN3Qqwqf93G/8Qf3JjKyz7Z+UdX7Y2?=
 =?us-ascii?Q?mFVeYZ5Gr0IDkBNeZmedCYq+Svfsr98y7OTN3EGnw6nnTCtHSwj2uOvGoTL3?=
 =?us-ascii?Q?esMADNXHv5CLWnhA0EVi05qZOrTUTonbhoR3dRx4pZSV29eGtAOkK5tdY2BI?=
 =?us-ascii?Q?QB1WqflxXTcNxkBiElKg1heAl0dCsudgUJdZlu9EQ/nt0LG55Nb5ae4NKclK?=
 =?us-ascii?Q?yWIGLhUqiJ4FUaweAAYFuBfBaUD5VLPyGbsN1SuJYYAEJdWE6Kril3FlHAZC?=
 =?us-ascii?Q?9P7B9eU5SM9wa3QiHh9yvarNmvRP+Jsztcu3CJlFYq10aXJnVfnOT3zsrCN7?=
 =?us-ascii?Q?Cw8/HIIZGTAnTIpeNC19aR6gi2u+hpUA/9DzQg=3D=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?UYf8mh2c6lICFduwGWFMJ89tKULkQawdLjEMszVMY9VCoWDg8oGZuGghq5ZJ?=
 =?us-ascii?Q?HlyR14abLNIH3iWr65iTVuiVrdZUwTU96jSW1hTKCNnzizCZOjl3r8yoSbXD?=
 =?us-ascii?Q?CpjOiR9+2+gGTnxdsqFhNML/eGrqQzYkTEW3Opg5yPszC8dZgmwt6mhA/Qca?=
 =?us-ascii?Q?FWLM5owMXxIiKqQLTdd19LXSSqyELGep47SIgxXwkB5MAcPwOaTHLjykk7Fu?=
 =?us-ascii?Q?4aQbKjFqY6up/yRm2e0g9j1AWycGSFgmM/kZP3kQLPSs+7kaKC6r95pGRIRW?=
 =?us-ascii?Q?drmMmk1CdcCPmpcCuf0Rfa1E6ui3GvYBW9PDeY+cetEWqm/zkKPM+z4c3Imr?=
 =?us-ascii?Q?jCrlqIj4iI4Qpm//zxgPFSsS64a/al0t2X29Hb9HT6KB1/tjODB9HRQ2vuvI?=
 =?us-ascii?Q?+NDpXjVnGCSa1txTIEGwZoiE3NlfX8HMU3hoANDAjVk0XMVAUO972nPef3f8?=
 =?us-ascii?Q?sgclHStgr3VX/jbzlXaFT3gR6QWws5ht8IDgzp+C0TldE8RVguZdvEc7birF?=
 =?us-ascii?Q?czxj4JIzp9jiZfdDQk9fzKLcQTYYWtUxWvzcq/AQa2gshdULizXv3DpaWi4f?=
 =?us-ascii?Q?31jSh7d0Z5z27lxHMPX6MM/cLBtspSEsnzxsef4qzSComIagJFHS53S3543d?=
 =?us-ascii?Q?G3pZllL6Cea63jiCsua7qGG1AAqgsDMNpb09SSWndSL5o8HWyyO4mBxr+Nti?=
 =?us-ascii?Q?DgygtlMZH5veDVrkrgUR1d9ePfswxrZn886QmB9lL06W0Ad8gdZu+G2u1a5V?=
 =?us-ascii?Q?0c4Wk7f7pBIYRsYe8YMrmrP0YT3VeDPoKmJk94N4xREjpybVQqmkhZ9DSG0q?=
 =?us-ascii?Q?iM2AbPLpJze4T2jXc+H6VZaKz4LBwxUKZ3Bi3/qe/mvb00ohB7VZxP12vqw1?=
 =?us-ascii?Q?qfq8HAHs18e2VL5bsKAC/rt+FzzP5ux99gHLoG5OBKdkGnjF2kVvKqSDYtxb?=
 =?us-ascii?Q?xgR6iKxVkLnrXBDj/pgxpH0y6/4pBoav1qlE50NuTS5Y1EdO5m1+YwxATLDK?=
 =?us-ascii?Q?ntGHP6Q97BduotfRgEt+tWh4Q40aKp+JEcmLOLLzyQyfL0bfMB7BIBU1twea?=
 =?us-ascii?Q?vr74y2PwXhzA+pvUU8jzZjybFycHgtq6zWeDEPlzm2UvvCq6PHBaBgxIDyA7?=
 =?us-ascii?Q?ihrlRXBIMY/xGKJzmVjJweGC6vbvs6x9E9rtLmr+FxOyLwtbav7JToGXocTm?=
 =?us-ascii?Q?At6X4uH+rz4jpxQQytCimhivEPb2DZ2TIAzJcu44/eSjGOYqF6zb/BEiFQU?=
 =?us-ascii?Q?=3D?=
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6452.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: c74f301f-bc31-409f-7524-08dd130d744e
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2024 20:11:06.2817 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR11MB8583
X-Content-Filtered-By: Mailman/MimeDel 2.1.30
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Steven Buehler via Cygwin <cygwin@cygwin.com>
Reply-To: Steven Buehler <buehlersj@outlook.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie.com@cygwin.com>

 Apologies for not breaking my lines at 79 columns. It's been a
long while since I've interacted with mailing lists of this nature.




________________________________
From: Steven Buehler
Sent: Monday, December 2, 2024 11:57 AM
To: cygwin@cygwin.com <cygwin@cygwin.com>
Subject: Calling GetConsoleProcessList in tight loop allocates new buffer via condrv ioctl results in excessive page-faults with Windows Terminal

Hello,

I am experiencing an abnormal number of page-faults per second (averaging 800 to over 2000) when using Cygwin within the Windows Terminal app. This produces visible stutters and cursor movement during terminal screen redraws.

I have opened an issue on the Windows Terminal GitHub issues page. The initial investigation by one of the Windows Terminal developers has determined that "Cygwin is calling console APIs in its steady state. It looks like it's calling GetConsoleProcessList in a tight loop, which results in the allocation of a new buffer that is returned to their process via condrv's ioctl interface. I don't think there's anything we can do about that, other than stopping them from doing so."

Following this response, I am attempting to bring this issue to the Cygwin developer team's awareness for a possible resolution. Please see https://github.com/microsoft/terminal/issues/18264 for a detailed discussion and accompanying video demonstration of the page-fault counter.

Thanks,
Steven

-- 
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
