Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Oct 2010 19:05:07 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        Juergen Lock <nox@jelal.kn-bremen.de>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: reduce 'unknown op 265' message storm
Message-ID:  <20101015190507.GA71827@freebsd.org>
In-Reply-To: <201010151821.o9FILsrm041963@triton8.kn-bremen.de>
References:  <20101014184626.GA1961@freebsd.org> <201010151821.o9FILsrm041963@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri Oct 15 10, Juergen Lock wrote:
> In article <20101014184626.GA1961@freebsd.org> you write:
> >
> >--ZPt4rx8FFjLCG7dd
> >Content-Type: text/plain; charset=us-ascii
> >Content-Disposition: inline
> >
> >hi there,
> Hi! :)
> >
> >i see a lot of these warnings:
> >
> >'linux_sys_futex: unknown op 265'
> >
> >although there is no support in the linuxulator for opcode 256
> >(FUTEX_CLOCK_REALTIME) it is possible to handle some of these cases earlier.
> >
> >FUTEX_CLOCK_REALTIME can be used to tell linux to use CLOCK_REALTIME instead of
> >CLOCK_MONOTONIC. FUTEX_CLOCK_REALTIME however must only be set, if either
> >FUTEX_WAIT_BITSET or FUTEX_WAIT_REQUEUE_PI are set too. if that's not the case
> >we can die with -ENOSYS right at the beginning.
> 
>  Hmm looks like that's not enough to fix kern/148076, i.e. emerge...
> 
> 	http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/148076

thanks i wasn't aware of that pr.

indeed the patch doesn't fix your problem. it does *not* add support for
FUTEX_WAIT_BITSET, FUTEX_WAIT_REQUEUE_PI or FUTEX_CLOCK_REALTIME.

all it does is to fail early if an application is using an invalid combination
of futex ops and FUTEX_CLOCK_REALTIME.

emerge won't work until FUTEX_WAIT_BITSET gets implemented. it might be
possible to ignore FUTEX_CLOCK_REALTIME and still get it working. i think
implementing support for FUTEX_CLOCK_REALTIME would require in depth knowledge
of timers since one has to switch between CLOCK_MONOTONIC and CLOCK_REALTIME.

cheers.
alex

> 
>  This is procstat -k of the hanging emerge process:
> 
>   PID    TID COMM             TDNAME           KSTACK
> 41734 100450 python2.6        -                mi_switch sleepq_catch_signals sleepq_wait_sig _cv_wait_sig tty_wait tty_drain ttydev_leave ttydev_close devfs_close vn_close vn_closefile devfs_close_f _fdrop closef kern_close ia32_syscall Xint0x80_syscall
> 
>  (Disclaimer: I applied the patch on 8.1 and just reloaded linux.ko,
> maybe head has other fixes that are also needed here.)
> 
>  Cheers,
> 	Juergen

-- 
a13x



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101015190507.GA71827>