NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/40159: can't boot with multiple cpus anymore



The following reply was made to PR port-amd64/40159; it has been noted by GNATS.

From: Martin Husemann <martin%duskware.de@localhost>
To: Andrew Doran <ad%NetBSD.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: port-amd64/40159: can't boot with multiple cpus anymore
Date: Sun, 22 Feb 2009 11:41:25 +0100

 On Sun, Feb 22, 2009 at 09:45:18AM +0000, Andrew Doran wrote:
 > What is intr_biglock_wrapper+0x1d in the source?
 
 (gdb) list *(intr_biglock_wrapper+0x1d)
 0xffffffff801b544d is in intr_biglock_wrapper 
(../../../../arch/x86/x86/intr.c:619).
 614     
 615             KERNEL_LOCK(1, NULL);
 616     
 617             ret = (*ih->ih_realfun)(ih->ih_realarg);
 618     
 619             KERNEL_UNLOCK_ONE(NULL);
 620     
 621             return ret;
 622     }
 623     #endif /* MULTIPROCESSOR */
 
 
 > What is ip_slowtimo+0x23 in the source?
 
 (gdb) list *(ip_slowtimo+0x23)
 0xffffffff801bafe3 is in ip_slowtimo (./x86/intr.h:142).
 137     
 138     static inline int
 139     splraiseipl(ipl_cookie_t icookie)
 140     {
 141     
 142             return splraise(icookie._ipl);
 143     }
 144     
 145     #include <sys/spl.h>
 146     
 
 and since the question will come up next:
 
 (gdb) list *(ip_slowtimo+0x19)
 0xffffffff801bafd9 is in ip_slowtimo (../../../../netinet/ip_input.c:1400).
 1395            static u_int dropscanidx = 0;
 1396            u_int i;
 1397            u_int median_ttl;
 1398    
 1399            mutex_enter(softnet_lock);
 1400            KERNEL_LOCK(1, NULL);
 1401    
 1402            IPQ_LOCK();
 1403    
 1404            /* Age TTL of all fragments by 1 tick .*/
 
 I had to reboot, and this time the usb0 kernel thread managed to progress
 a bit further and attach a device - so things changed a bit:
 
 PID    LID S CPU     FLAGS       STRUCT LWP *               NAME WAIT
 5        1 2   0         4   ffff80004da62040            rcorder
 2        1 3   0        84   ffff80004da60000                 sh piperd
 1        1 3   0        84   ffff80004da603e0               init wait
 0       46 3   1       204   ffff80004da62420        vmem_rehash vmem_rehash
               45 3   1       204   ffff80004da62800           aiodoned aiodoned
               44 3   1       204   ffff80004da607c0            ioflush syncer
               43 3   1       204   ffff80004da62be0           pgdaemon pgdaemon
               39 3   1       204   ffff80004da60ba0               usb1 usbevt
               38 3   1       204   ffff80004da61bc0         usbtask-dr usbtsk
               37 3   1       204   ffff80004da617e0         usbtask-hc usbtsk
            >  36 7   0       204   ffff80004da61400               usb0
               35 3   0       204   ffff80004da61020          atapibus0 sccomp
 
 netbsd:softnet_lock:    4b2a8f80
 db{0}> x softnet_lock+4
 netbsd:softnet_lock+0x4:        ffff8000
 db{0}> show lock 0xffff80004b2a8f80
 lock address : 0xffff80004b2a8f80 type     :     sleep/adaptive
 initialized  : 0xffffffff801d60ae
 shared holds :                  0 exclusive:                  1
 shares wanted:                  0 exclusive:                  0
 current cpu  :                  0 last held:                  1
 current lwp  : 0xffff80004da61400 last held: 0xffff80004b2ba000
 last locked  : 0xffffffff801bafd9 unlocked : 0xffffffff802e76fb
 owner field  : 0xffff80004b2ba000 wait/spin:                0/0
 
 Turnstile chain at 0xffffffff80593e40.
 => No active turnstile for this lock.
 
 db{0}> x/i 0xffffffff801bafd9
 netbsd:ip_slowtimo+0x19:        movl    $0x1,%edi
 
 
 Martin
 


Home | Main Index | Thread Index | Old Index