On Thu, 2020-03-19 at 22:54 -0700, Mark Geisert wrote: > Mark Geisert wrote: > > Eliot Moss wrote: > > > On 3/16/2020 7:34 PM, Mark Geisert wrote: > > > > Mark Geisert wrote: > > > >> Eliot Moss wrote: > > > >>> > > > >>> Dear cygwin-ers -- > > > >>> > > > >>> Something I had asked about a while ago was the absence os taskset > > > in > > > cygwin's > > > >>> util-linux. At the time, it was pointed out that the necessary > > > get/set > > > >>> affinity library/system calls were not yet supported. These were > > > added a > > > >>> while ago, so it would seem that taskset ought to work. In fact, I > > > think > > > >>> someone got it going on their own. Can we add it to util-linux now, > > > >>> officially? I think this was intended but perhaps was overlooked or > > > >>> something. > > > >> > > > >> Report noted; thanks. A solution is being worked. > > > > > > > > There's been no forward progress on this. If you're comfortable > > > getting > > > the util-linux source > > > > package through Cygwin setup*.exe, you can follow the steps shown in > > > > https://cygwin.com/pipermail/cygwin-apps/2020-March/039855.html to > > > build > > > (with cygport) a local copy > > > > of util-linux that includes a taskset.exe you can move into > > > /usr/local/bin, > > > for example. > > > > > > > > You might try that route if you're up for it. Feel free to ask > > > questions > > > here if you hit a snag. > > > > HTH, > > > > > > Thank you, Mark. I decided to give it a try and got some distance, but > > > hit a > > > snag. > > > > > > First, I had to change configure.ac to add control to disable ionice > > > (Cygwin > > > does not support a required syscall) while still trying to build taskset. > > > Previously taskset and ionice (and one other program) were controlled by > > > the > > > single --enable-schedutils. > > > > > > Now, including sched.h does not provide the prototypes for > > > sched_getaffinity, > > > etc. I found a previous post that suggests we need to do -D_GNU_SOURCE > > > for it > > > to work. I am not sure of the best place to stick that, but I will see > > > about > > > maybe a one line patch to taskset.c or something. > > > > Rats. Sorry you've hit some snags. Are you compiling directly with 'make' > > or > > the preferred 'cygport util-linux.cygport build'? With the latter I didn't > > need > > to make any changes to the source tree; all mods were accomplished with the > > new > > patch file and changes to util-linux.cygport itself. > > 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.
Cygwin doesn't support syscalls. I'd be very wary of any code which is conditional on any #ifdef SYS_*. -- Yaakov -- 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