Why is taskset still not in util-linux?

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Mon Mar 23 18:48:50 GMT 2020


On 2020-03-23 03:42, Mark Geisert wrote:
> Corinna Vinschen wrote:
>> On Mar 21 10:41, Brian Inglis wrote:
>>> On 2020-03-21 02:18, Mark Geisert wrote:
>>>> Eliot Moss wrote:
>>>>> On 3/20/2020 1:54 AM, Mark Geisert wrote:
>>>>>> I've reproduced your snags. It/they are due to my having forgotten
>>>>>> another tiny update that should have been part of the
>>>>>> 2.33.1-cygwin-cpuset.patch file.  If you
>>>>>> 'echo "#define SYS_sched_getaffinity 42" > /usr/local/include/sys/syscall.h'
>>>>>> and then back out your other fix attempts, the build using cygport should
>>>>>> work.
>>>>> Once I did that properly, it built without commenting out that test. Yay!
>>>
>>>> I ended up installing Process Lasso to follow processes among the cpus and to
>>>> test the Cygwin affinity mask implementation.  It has a free trial period.  And
>>>> I wrote a simple test program that just advances from one cpu to the next
>>>> repeatedly, cpu-bound between steps, so PL can display the changing cpu.
>>>
>>> Anyone know if this feature support or what feature support will get top P/last
>>> used CPU and/or procps-ng P/sgi_p currently executing CPU and PSR/currently
>>> assigned CPU showing actual CPUs rather than 0/zero?
>>>
>>> Anyone know if or where or how this info is available on Windows or a link to
>>> it? I've looked at Google and SO results and nothing useful is apparent.
>>
>> Can't we just fake the calls?

The results are currently faked to CPU # 0.

> Brian is asking for a way to watch processes globally, as they are scheduled
> back and forth on the available cpus.  I was a bit sloppy in my wording above;
> what Process Lasso displays is the changing process affinity mask for a process
> I wrote to do just that.  I don't know of a way to ask Windows which cpu a
> process is currently scheduled onto.

You can also get and set affinity in Task Manager, and also ideal CPU info using
SysInternals Process Explorer, or PowerShell, which I use to launch Windows ntpd
at max realtime priority on CPU `nproc` - 1, as CMD arithmetic was nonexistent
or obscure years ago. I could probably redo that with CMD start.

Only documented CPU # call I could find was GetCurrentProcessorNumber (-Ex also
returns processor group) which tells the current thread where it's executing,
not the last or current CPU # assigned or used for other process threads.

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

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.



More information about the Cygwin mailing list