delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2023/10/14/23:55:35

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 969F13858413
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1697342133;
bh=NVLG51ur0BSxxMJ+RMJhfXYjSf7AWT2ZibUvZlQuMcA=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
From;
b=GicfHGt02e2T6wnCx/Fx1jGQDlum+1hs7jTjN+MdBlbrAj6lFCAuuS8VgFbeydagm
72EZLNrZmwTIm5OZC5titS7wcXwXhyIRZ6kRZoQQcEqbNhDEJxgEHC9QlBu449MKGG
K081f9z2gutF+GElh+hqqcdu9LILQH1RnpqQE+AI=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A0C783858D20
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697342119; cv=none;
b=lMj3n/NlKOOoh9J9GmXePDZrDYFaGQIt3y0crKpQshL6KHkPDo2JNYoGlO/yLTGCRhAoJk9T3RLfRrUZ+NQwgV3JIJRoAFQ2oidAMAO3RT8fCS67cOuEPRdRJZ73Nkb3CeLMUPwgCj8igcobGGU+zT7gLaN7z7Ra9dTdm6rOnmI=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1697342119; c=relaxed/simple;
bh=Yl+SVdSgxh8IPTRpqinvOH6N+GrWnHV4UKsrYoKyaHc=;
h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From;
b=tVEwb/kG/BrB/W0C+W7owQwSYTCcdfY1DU+ErhpGwyZMzS472C8OG4Ysw/wwIeuXfWW7xSuTW1K2FyBmW/1WPH2hsgV+QwuS3EPgHrRaHabUsq+7t/p1QO2WVBi+97Wynxh1tzbKsYGMqHGyfQNvaXI4i6FFWMBSSw1CWnjs1kw=
ARC-Authentication-Results: i=1; server2.sourceware.org
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A0C783858D20
X-Authority-Analysis: v=2.4 cv=M75elg8s c=1 sm=1 tr=0 ts=652b62a4
a=DxHlV3/gbUaP7LOF0QAmaA==:117 a=DxHlV3/gbUaP7LOF0QAmaA==:17
a=IkcTkHD0fZMA:10 a=w_pzkKWiAAAA:8 a=84FUq1y3wrRBUFPjAbcA:9 a=QEXdDO2ut3YA:10
a=sRI3_1zDfAgwuvI8zelB:22
Message-ID: <d4e2d459-59bd-4be5-a47e-aecf7863cbcb@Shaw.ca>
Date: Sat, 14 Oct 2023 21:55:15 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Run a Cygwin process with "higher" scheduler priority
To: cygwin AT cygwin DOT com
References: <CALXu0UeiEH3gOYzwVjOqTgQ1OC8z=ZBOd4y4ky_-B0t5SrS9Pg AT mail DOT gmail DOT com>
<cfbece04-40d6-566d-a4b8-f5334b1d453a AT Shaw DOT ca>
<CALXu0Ufnz-uHKJfjDj3xShJR=w_Mwx8Xiw2qbRvJbxo=yqV_Uw AT mail DOT gmail DOT com>
<6652d1ac-6ed9-824c-1bca-28ac49d01db7 AT cs DOT umass DOT edu>
Organization: Inglis
In-Reply-To: <6652d1ac-6ed9-824c-1bca-28ac49d01db7@cs.umass.edu>
X-CMAE-Envelope: MS4xfHkG5Hge0sQPppcGuKZRzkyb+TrkUoXpkkeqehCfgYpFFJbjQlCQVh7jB3jBAtjKV5XHuIDJc9bE8uUEyuKdIn3gz/BmfMKqtLxjPw3qp2+HIwy2kLFO
s8hFaQ3j+LeihibU7vxPl0kzDAGU8xKJHC2vziRNB9b/PVSys9imGFTB9OEa7eIw124j8aMZi2ARnNp8qlAUHyBq4dMyAWbF6sPHb5pHAWwQkIkz+O2WgGDq
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, BODY_8BITS,
DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW,
RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS,
TXREP autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
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: Brian Inglis via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Brian Inglis <Brian DOT Inglis AT Shaw DOT ca>
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 39F3tZhr004165

On 2023-10-14 07:47, Eliot Moss via Cygwin wrote:
> On 10/14/2023 7:39 AM, Cedric Blancher via Cygwin wrote:
>> On Fri, 11 Aug 2023 at 19:14, Brian Inglis wrote:
>>> On 2023-08-11 09:44, Cedric Blancher via Cygwin wrote:
>>>> How can we set the scheduler priority for a Cygwin process to "higher"
>>>> than normal on start?
>>>> Basically we want a Cygwin compatible script version of the Windows
>>>> task manager feature Name/PID--->Details--->Set priority--->Higher
>>> Pretend the system is BSD or Linux and web search e.g. SO for that capability,
>>> facility, or feature, then check Cygwin with Search Packages or:
>>> $ cygcheck -p usr/bin/nice
>>> Found 6 matches for usr/bin/nice
>> I know about nice and renice, but I don't see whether it is working or not.
>>> coreutils-debuginfo-8.26-2 - coreutils-debuginfo: Debug info for coreutils
>>> ...
>>> coreutils-9.0-1 - coreutils: GNU core utilities (includes fileutils, sh-utils
>>> and textutils)
>>> $ cygcheck -p usr/bin/renice
>>> Found 6 matches for usr/bin/renice
>>> util-linux-debuginfo-2.32.1-1 - util-linux-debuginfo: Debug info for util-linux
>>> util-linux-debuginfo-2.33.1-1 - util-linux-debuginfo: Debug info for util-linux
>>> util-linux-debuginfo-2.33.1-2 - util-linux-debuginfo: Debug info for util-linux
>>> util-linux-2.32.1-1 - util-linux: Collection of basic system utilities
>>> util-linux-2.33.1-1 - util-linux: Collection of basic system utilities
>>> util-linux-2.33.1-2 - util-linux: Collection of basic system utilities
>>> $ cygcheck -p usr/bin/chrt
>>> Found 2 matches for usr/bin/chrt
>>> util-linux-debuginfo-2.33.1-2 - util-linux-debuginfo: Debug info for util-linux
>>> util-linux-2.33.1-2 - util-linux: Collection of basic system utilities
>>> $ cygcheck -p usr/bin/taskset
>>> Found 2 matches for usr/bin/taskset
>>> util-linux-debuginfo-2.33.1-2 - util-linux-debuginfo: Debug info for util-linux
>>> util-linux-2.33.1-2 - util-linux: Collection of basic system utilities
>>> so you may need to install util-linux (coreutils is already installed as a base
>>> package for Cygwin) then:
>>>          $ man nice renice taskset chrt
>> chrt does not work, the syscalls for realtime seem to be not implemented.
>>> You may need to run these from an elevated admin shell for other user ids,
>>> unowned processes, or higher (negative) priority.
>>> It has been years since I tried these so can no longer remember if -20
>>> corresponds to Windows "RealTime" or if you need to use PowerShell to set 
>>> that e.g.
>>>          $proc   = Get-Process -ProcessName "..."
>>>          $proc.PriorityClass     = "RealTime"
>>> and that needs to be done from an elevated admin (Power)Shell.
>>> Of course, never set that on any system except on a very idle, very I/O bound,
>>> well tested process, such as ntpd, that needs stably fast interrupt service and
>>> non-preemptible cpu access for ms every few seconds, preferably on a single or
>>> few cpus to which affinity is set.
>> Is there anything in /proc which can tell me the current *Windows*
>> scheduler priority level? Or a command line tool?
> I recall getting taskset going in util-linux a while back, but I don't
> recall working on priority related things.  You could look into the
> cygwin source code to see how Windows priorities relate to the priority
> values in Cygwin.  Then you may be able just to use /proc/[pid]/stat
> read out what you want.

ISTR testing nice/renice, and found it was a simple priority mapping to/from 
Unix to Windows Idle to RealTime (at the time, process Affinity was not 
supported, so went with a PowerShell startup script instead); see:

https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/sched.cc#l107

https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/sched.cc#l234

https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/sched.cc#l277

They are documented in proc(5) /proc/PID/stat fields 18 priority and 19 nice 
typically 20 and 0, as shown by `top` PR and NI, shown by `procps -l` as 80 and 
0, and not shown by Cygwin `ps`.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

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