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>