Panic on current amd64
Hans Petter Selasky
hps at selasky.org
Tue Mar 31 07:10:36 UTC 2015
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
More information about the freebsd-current
mailing list