atomic_load_acq_int in sequential_heuristic

Mateusz Guzik mjguzik at gmail.com
Tue Aug 26 08:20:33 UTC 2014


On Mon, Aug 25, 2014 at 10:35:31PM +0300, Konstantin Belousov wrote:
> On Mon, Aug 25, 2014 at 08:04:17PM +0200, Mateusz Guzik wrote:
> > > I do think that there is bug in the "-1" stuff, but it is in compat32
> > > shims. The compat/freebsd32/syscalls.master does not provide the compat
> > > for fcntl(2), which means that 32bit fcntl(2) does not work when either
> > > signed extension is needed (the F_READAHEAD case), or on the big-endian
> > > machines.  On i386, it did not practically matter before F_READAHEAD,
> > > since x86 is little-endian and flags passed as arg did not touch the
> > > sign bit.
> > > 
> > > Note that fcntl(2) man page is wrong, it claims that optional argument
> > > arg is int.  It cannot be true since pointer on LP64 platform cannot
> > > fit into int.  The SUSv4 is explicit in describing which command
> > > takes which type; our man page must be fixed, but this is for later.
> > > 
> > > See the patch at the end of the reply for the fix.  It needs sysent
> > > regen for actual build.
> > > 
> > 
> > I tested the patch and it fixes the problem.
> Which patch ? Your's or mine ?
> 

Yours, apart from mine.

I committed my patch as r270648.

-- 
Mateusz Guzik <mjguzik gmail.com>


More information about the freebsd-hackers mailing list