Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Oct 2005 17:37:00 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Maxim Maximov <mcsi@mcsi.pp.ru>, Bill Paul <wpaul@freebsd.org>
Subject:   Re: boot panic (NDIS, SCHED_ULE?)
Message-ID:  <200510211737.01988.jhb@freebsd.org>
In-Reply-To: <20051021210017.98D6716A420@hub.freebsd.org>
References:  <20051021210017.98D6716A420@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 21 October 2005 05:00 pm, Bill Paul wrote:
> > Maxim Maximov wrote:
> > > Maxim Maximov wrote:
> > >> Hi.
> > >>
> > >>     Got boot time panic on fresh CURRENT.
> > >>     NDIS hardware:
> > >>
> > >> ndis0: <ASUS 802.11g Network Adapter> mem 0xfeaf8000-0xfeaf9fff irq 17
> > >> at device 2.0 on pci2
> > >> ndis0: NDIS API version: 5.0
> > >> ndis0: Ethernet address: 00:0e:a6:c2:00:e4
>
> Oh for crap's sake.
>
> Some days I really, _REALLY_ hate FreeBSD.
>
> I need to insure that DPC thread 0 runs on CPU 0, and DPC thread 1
> runs on CPU 1, and so on. There are supposed to be separate DPC
> threads for each CPU. Unfortunately, you can't specify a CPU
> affinity when you launch the thread, and obviously you can't
> do it during the device probe phase during bootstrap since only
> CPU 0 is running.
>
> I really don't  have the right solution for this right now. What
> you _SHOULD_ do is stop loading your NDIS driver during boot. Instead,
> take it out of /boot/loader.conf and load it with a boot script
> after the system has gone multiuser. If you do it then, both CPUs
> will be running.
>
> I'm not sure of the correct solution for this problem. I have to
> think about it. In the meantime, just wait to load ndis.ko, if_ndis.ko
> and your_driver.ko after bootstrap.

Perhaps have the kthreads for cpus other than 0 sleep in their main before 
calling sched_bind() and have a SI_SUB_SMP, SI_ORDER_MIDDLE SYSINIT in the 
module to wake them up so they can do their sched_bind()s.  Someday I'd like 
to have all the CPUs up and running for the device probe. :(

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



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