DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4B3Bi3qO2318812 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 4B3Bi3qO2318812 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=FLvQ6/lm X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 384F53858CDA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1733226241; bh=KbfVxnTdvfu9WqiLnzmhyVdaD/96Xd0uZ2r0ZOtD32g=; h=Date:To:Cc:Subject:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=FLvQ6/lmipVOwTcuwVjJwd/g0nMXZteoDHXbjVV1sQeAnZrJd87BOog53nWkX0AZc gclsqc7PVIDPfmGrF6OmXWIFcEyn21HC9/scRAnyy67Muni0D+cATTkp0KUZU/4Q5E YoRz3o/ftZWpvsdhZKU5kJBjyOS9Q/GmvKAZD854= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 466D83858D33 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 466D83858D33 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733226166; cv=none; b=jGniDKtX1CiVQ14s+5SH3x7qQjfuAjIxjEsdt+4X89Ly8GfPFJM982kdrCw7JED/8KBpKr/sIo7U1g1DkX/CBBNSuxvU7Nz8s9nh9yD9mzZhaVp+lAcS2da19U0sm5wE2sL/y0H8KcRSRkf9dF4/qmJa2GA0Reps+8LUMm5Ekx8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733226166; c=relaxed/simple; bh=Tt2wVrJppmvPBhTi9fGjoKyiU9qiqg1AfF7jtJ3JCOM=; h=Date:From:To:Subject:Message-Id:Mime-Version:DKIM-Signature; b=GW6X9q3DM1vyO3TW7DQmcFLa0GI7GXj3UFAPr8hkOGBdvjDGrEL37g2OFxstfK9zaSpJMUM7V6LHQbqHYbZ48lOE//waaijDnBsG2zosTRA9mtdRyYjToI6/6rs1iG6eYB/hb31+3dm0ZKj+TbO0L4Y3usQkf+8FnQWcKEEM0YI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 466D83858D33 Date: Tue, 3 Dec 2024 20:42:42 +0900 To: cygwin AT cygwin DOT com Cc: Steven Buehler Subject: Re: Calling GetConsoleProcessList in tight loop allocates new buffer via condrv ioctl results in excessive page-faults with Windows Terminal Message-Id: <20241203204242.4bd45fc54e31431ceaf94816@nifty.ne.jp> In-Reply-To: References: X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 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: Takashi Yano via Cygwin Reply-To: Takashi Yano Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Mon, 2 Dec 2024 19:57:25 +0000 Steven Buehler wrote: > 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 for the report. However, I cannot reproduce your problem. Which cygwin version do you use? -- Takashi Yano -- 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