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

Reply via email to