On Tue, 12 Jun 2007, Matthew Dillon wrote:

MD> :s,/kernel,/boot/kernel/kernel, ;-)
MD> :
MD> :well, strange enough result for me:
MD> :
MD> :(kgdb) print cpu_ticks
MD> :$1 = (cpu_tick_f *) 0xffffffff8036cef0 <rdtsc>
MD> :
MD> :Does this mean that kernel uses tsc? sysctl reports
MD> :
MD> :kern.timecounter.choice: TSC(-100) ACPI-fast(1000) i8254(0) dummy(-1000000)
MD> :kern.timecounter.hardware: ACPI-fast
MD> 
MD>     It means the kernel is using the TSC for calcru.  It's using ACPI-fast
MD>     for normal timekeeping.
MD> 
MD>     In anycase, that's the problem right there, or at least one problem.
MD>     The TSC cannot safely be used for calcru or much of anything else on
MD>     a SMP system because the TSCs aren't synchronized between cpu's and
MD>     because their frequencies aren't locked, so they will drift relative
MD>     to each other as well. 
MD> 
MD>     If you want to run another test, try disabling the use of the TSC for
MD>     calcru.  There is no boot variable I can see to do it so go into
MD>     /usr/src/sys/i386/i386/tsc.c and comment out the call to
MD>     set_cputicker() in Line 107 and line 187.  Then see if that helps.
MD>     If you are doing an amd64 build comment it out in amd64/amd64/tsc.c
MD>     line 98 and line 163.

Not much success (amd64 with two set_cputicker calls commented out):

Trying to mount root from ufs:/dev/ad4s1b
Loading configuration files.
No suitable dumpkernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0x140
fault code              = supervisor write data, page not present
instruction pointer     = 0x8:0xffffffff803528a8
stack pointer           = 0x10:0xffffffffa02c2a00
frame pointer           = 0x10:0xffffffffa02c2a40
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = resume, IOPL = 0
current process         = 43 (sh)
[thread pid 43 tid 100033 ]
Stopped at      cpu_throw+0x18: lock btrl       %eax,0x140(%rdx)
db> bt
Tracing pid 43 tid 100033 td 0xffffff003da9d9c0
cpu_throw() at cpu_throw+0x18
thread_exit() at thread_exit+0x31d
exit1() at exit1+0xb13
sys_exit() at sys_exit+0xe
syscall() at syscall+0x254
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (1, FreeBSD ELF64, sys_exit), rip = 0x800930f6c, rsp = 
0x7fffffffe388, rbp = 0x800b110b5 ---



Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- [EMAIL PROTECTED] ***
------------------------------------------------------------------------
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to