Re: ULE status, invalid load, buildkernel times.

From: Matt <datahead4_at_gmail.com>
Date: Mon, 23 Jul 2007 15:13:59 -0500
On 7/21/07, Jeff Roberson <jroberson_at_chesapeake.net> wrote:
> I have a patch available at:
>
> http://people.freebsd.org/~jeff/ulehtt.diff
>
> This resolves issues in the code that handles HTT enabled processors and
> also adds some ULE information to bootverbose on SMP systems.  Peter Wemm
> has a seperate patch that fixes a bug where some amd64 cpus were still
> being misidentified as HTT.  Those of you with invalid loads either have
> Hyper-threading CPUs or misidentified amd cores.  You should expect
> slightly poorer performance as long as your cores are misidentified but
> the bad loads should be fixed.
>
> I also believe that the buildkernel/world times are now significantly
> improved.  If this is not the case for you please send a mail.  Any other
> performance data is appreciated.
>
> Thanks,
> Jeff
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>

-current system with sources update July 22 at approx. 3PM central
time with the ulehtt.diff patch applied experienced a panic this
afternoon while restarting a local Apache Tomcat server.  Backtrace
information is shown below.  Unclear to me whether or not the patch
and the panic are related.

Matt

(kgdb) mtosto-bsd# kgdb kernel.debug /var/crash/vmcore.1
[GDB will not be able to debug user-mode threads:
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:
panic: kse_wakeup: no owner
cpuid = 1
Uptime: 23h29m24s
Physical memory: 2030 MB
Dumping 288 MB: 273 257 241 225 209 193 177 161 145 129 113 97 81 65 49 33 17 1

#0  doadump () at pcpu.h:195
195             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:195
#1  0xc05d57c7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2  0xc05d5abb in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#3  0xc05bc398 in kse_wakeup (td=0xc5f99440, uap=0xe8787cfc)
    at /usr/src/sys/kern/kern_kse.c:536
#4  0xc0829355 in syscall (frame=0xe8787d38) at
/usr/src/sys/i386/i386/trap.c:1006
#5  0xc080f1b0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:196
#6  0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) list *0xc05bc398
0xc05bc398 is in kse_wakeup (/usr/src/sys/kern/kern_kse.c:537).
532                     return (ESRCH);
533             }
534             if ((td2 = ku->ku_owner) == NULL) {
535                     PROC_SUNLOCK(p);
536                     panic("%s: no owner", __func__);
537             } else if (td2->td_kflags & (TDK_KSEREL | TDK_KSERELSIG)) {
538                     if (!(td2->td_kflags & TDK_WAKEUP)) {
539                             td2->td_kflags |= TDK_WAKEUP;
540                             if (td2->td_kflags & TDK_KSEREL)
541                                     sleepq_remove(td2, &p->p_completed);
(kgdb) list *0xc0829355
0xc0829355 is in syscall (/usr/src/sys/i386/i386/trap.c:1006).
1001                    STOPEVENT(p, S_SCE, narg);
1002
1003                    PTRACESTOP_SC(p, td, S_PT_SCE);
1004
1005                    AUDIT_SYSCALL_ENTER(code, td);
1006                    error = (*callp->sy_call)(td, args);
1007                    AUDIT_SYSCALL_EXIT(error, td);
1008            }
1009
1010            switch (error) {
(kgdb) list *0xc080f1b0
0xc080f1b0 is at /usr/src/sys/i386/i386/exception.s:197.
192             pushl   %fs
193             SET_KERNEL_SREGS
194             FAKE_MCOUNT(TF_EIP(%esp))
195             pushl   %esp
196             call    syscall
197             add     $4, %esp
198             MEXITCOUNT
199             jmp     doreti
200
201     ENTRY(fork_trampoline)
(kgdb)
Received on Mon Jul 23 2007 - 18:14:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC