Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 09:11:17 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        Konstantin Belousov <kostikbel@gmail.com>,  Gleb Smirnoff <glebius@FreeBSD.org>
Cc:        rrs@FreeBSD.org, freebsd-current@freebsd.org
Subject:   Re: Panic on current amd64
Message-ID:  <551A4895.6090500@selasky.org>
In-Reply-To: <20150331001523.GJ2379@kib.kiev.ua>
References:  <201503282202.t2SM2cAb004263@pozo.com> <20150330211943.GV64665@FreeBSD.org> <5519CE6C.10600@selasky.org> <20150330224104.GZ64665@glebius.int.ru> <20150330235147.GH2379@kib.kiev.ua> <20150331001523.GJ2379@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 03/31/15 02:15, Konstantin Belousov wrote:
> On Tue, Mar 31, 2015 at 02:51:47AM +0300, Konstantin Belousov wrote:
>> On Tue, Mar 31, 2015 at 01:41:04AM +0300, Gleb Smirnoff wrote:
>>> On Tue, Mar 31, 2015 at 12:30:04AM +0200, Hans Petter Selasky wrote:
>>> H> On 03/30/15 23:19, Gleb Smirnoff wrote:
>>> H> > On Sat, Mar 28, 2015 at 03:02:28PM -0700, Manfred Antar wrote:
>>> H> > M> I get the following panic on current svn ver  r280793:
>>> H> > M>
>>> H> > M> Sat Mar 28 14:41:28 PDT 2015
>>> H> > M>
>>> H> > M> FreeBSD/amd64 (pozo.com) (ttyu0)
>>> H> > M>
>>> H> > M> panic: Invalid CPU in callout 16
>>> H> >
>>> H> > The same happened to me in the OFED code. After investigation
>>> H> > it appeared that for some unknown reason, the OFED code used
>>> H> > /usr/include/sys/callout.h instead of SYSDIR/sys/callout.h,
>>> H> > that yield in wrong value passing as parameter.
>>> H> >
>>> H> > I failed to reproduce the problem. :( So, the fix is a rebuild
>>> H> > of kernel. But the right fix is to understand what went wrong
>>> H> > in the previous build.
>>> H>
>>> H> How did you compile the OFED stuff? Did you set the SYSDIR variable when
>>> H> building?
>>>
>>> I just have this in my kernel config:
>>>
>>> options         OFED
>>> device          mlxen
>>
>> Quick grep of the sys/ofed immediately shows the following:
>>
>> sys/ofed/include/linux/wait.h:#include <sys/param.h>
>> sys/ofed/include/linux/wait.h:#include <sys/systm.h>
>> sys/ofed/include/linux/wait.h:#include <sys/sleepqueue.h>
>> sys/ofed/include/linux/wait.h:#include <sys/kernel.h>
>> sys/ofed/include/linux/wait.h:#include <sys/proc.h>
>>
>> ys/ofed/include/linux/timer.h:#include <sys/callout.h>
>> sys/ofed/include/linux/types.h:#include <sys/cdefs.h>
>> sys/ofed/include/linux/types.h:#include <sys/types.h>
>> sys/ofed/include/linux/types.h:#include <sys/param.h>
>> sys/ofed/include/linux/types.h:#include <sys/systm.h>
>>
>> and so on.
>
> Err, I am sorry, scratch this.

Hi,

Could you:

cd sys/amd64/conf
config YOURCONFIG

cd ../compile/YOURCONFIG
less Makefile

and see if it includes something outside /sys ?

OFED uses its own CFLAGS and check if some include directives have space 
after the "-Ixxxspace", because then this simple flag conversion will fail:

OFEDCFLAGS=     ${CFLAGS:N-I*} ${OFEDINCLUDES} ${CFLAGS:M-I*} ${OFEDNOERR}

Thank you!

--HPS




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