svn commit: r333480 - head/sys/kern
Matthew Macy
mmacy at freebsd.org
Fri May 11 07:52:24 UTC 2018
Weird. Try tha.
@@ -172,6 +174,7 @@ epoch_init_numa(epoch_t epoch)
for (int i = 0; i < domcount[domain]; i++, eps++) {
epoch->e_pcpu[cpu_offset + i] = eps;
er = &eps->eps_record;
+ STAILQ_INIT(&eps->eps_cblist);
ck_epoch_register(&epoch->e_epoch,
&er->er_record, NULL);
TAILQ_INIT((struct threadlist
*)(uintptr_t)&er->er_tdlist);
er->er_cpuid = cpu_offset + i;
On Fri, May 11, 2018 at 12:49 AM, Peter Holm <peter at holm.cc> wrote:
> On Fri, May 11, 2018 at 12:36:40AM -0700, Matthew Macy wrote:
>> - How many cores? How many sockets?
>> - Any special config options other than DIAGNOSTIC?
>>
>
> CPU: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz (1995.24-MHz K8-class CPU)
> Origin="GenuineIntel" Id=0x206d7 Family=0x6 Model=0x2d Stepping=7
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> Features2=0x1fbee3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX>
> AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
> AMD Features2=0x1<LAHF>
> XSAVE Features=0x1<XSAVEOPT>
> VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
> TSC: P-state invariant, performance statistics
> real memory = 68719476736 (65536 MB)
> avail memory = 66740162560 (63648 MB)
> Event timer "LAPIC" quality 600
> ACPI APIC Table: <INTEL W2600CR>
> FreeBSD/SMP: Multiprocessor System Detected: 24 CPUs
> FreeBSD/SMP: 2 package(s) x 6 core(s) x 2 hardware threads
>
> $ sed '/^#/d; /^$/d' < /usr/src/sys/amd64/conf/PHO
> include GENERIC
> ident PHO-GENERIC
> options ALT_BREAK_TO_DEBUGGER
> options SW_WATCHDOG
> options DEBUG_LOCKS
> options DEBUG_VFS_LOCKS
> options DIAGNOSTIC
> nooptions DEADLKRES # watchdogd handles this
> options UFS_EXTATTR
> options UFS_EXTATTR_AUTOSTART
> $
>
> - Peter
>
>> On Fri, May 11, 2018 at 12:29 AM, Matthew Macy <mmacy at freebsd.org> wrote:
>> > Yes. Can you give me the line number for epoch_call_task+0x7b
>> >
>> >
>> > On Fri, May 11, 2018 at 12:18 AM, Peter Holm <peter at holm.cc> wrote:
>> >> On Fri, May 11, 2018 at 04:54:13AM +0000, Matt Macy wrote:
>> >>> Author: mmacy
>> >>> Date: Fri May 11 04:54:12 2018
>> >>> New Revision: 333480
>> >>> URL: https://svnweb.freebsd.org/changeset/base/333480
>> >>>
>> >>> Log:
>> >>> epoch(9): fix priority handling, make callback lists pcpu, and other fixes
>> >>>
>> >>> - Lend priority to preempted threads in epoch_wait to handle the case
>> >>> in which we've had priority lent to us. Previously we borrowed the
>> >>> priority of the lowest priority preempted thread. (pointed out by mjg@)
>> >>>
>> >>> - Don't attempt allocate memory per-domain on powerpc, we don't currently
>> >>> handle empty sockets (as is the case on jhibbits Talos' board).
>> >>>
>> >>> - Handle deferred callbacks as pcpu lists and poll the lists periodically.
>> >>> Currently the interval is 1/hz.
>> >>>
>> >>> - Drop the thread lock when adaptive spinning. Holding the lock starves
>> >>> other threads and can even lead to lockups.
>> >>>
>> >>> - Keep a generation count pcpu so that we don't keep spining if a thread
>> >>> has left and re-entered an epoch section.
>> >>>
>> >>> - Actually removed the callback from the callback list so that we don't
>> >>> double free. Sigh ...
>> >>>
>> >>> Approved by: sbruno@
>> >>>
>> >>> Modified:
>> >>> head/sys/kern/subr_epoch.c
>> >>>
>> >>> Modified: head/sys/kern/subr_epoch.c
>> >>> ==============================================================================
>> >>> --- head/sys/kern/subr_epoch.c Fri May 11 04:47:05 2018 (r333479)
>> >>
>> >> Could this be yours?
>> >>
>> >> cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
>> >> WARNING: WITNESS option enabled, expect reduced performance.
>> >> WARNING: DIAGNOSTIC option enabled, expect reduced performance.
>> >> Trying to mount root from ufs:/dev/da0p2 [rw]...
>> >> Expensive timeout(9) function: 0xffffffff809f20d0(0xffffffff81af5140) 0.006730830 s
>> >> uhub1: 4 ports with 4 removable, self powered
>> >> kernel trap 12 with interrupts disabled
>> >>
>> >>
>> >> Fatal trap 12: page fault while in kernel mode
>> >> cpuid = 12; apic id = 20
>> >> fault virtual address = 0x100
>> >> fault code = supervisor read data, page not present
>> >> instruction pointer = 0x20:0xffffffff80bb68db
>> >> stack pointer = 0x0:0xfffffe00004e19b0
>> >> frame pointer = 0x0:0xfffffe00004e19f0
>> >> 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 = 0 (config_0)
>> >> [ thread pid 0 tid 100081 ]
>> >> Stopped at epoch_call_task+0x7b: movq ll+0xdf(%rax),%rcx
>> >> db> show registers
>> >> cs 0x20
>> >> ds 0x3b ll+0x1a
>> >> es 0x3b ll+0x1a
>> >> fs 0x13
>> >> gs 0x1b
>> >> ss 0
>> >> rax 0
>> >> rcx 0x858 ll+0x837
>> >> rdx 0xffffffff812f6968
>> >> rbx 0xc
>> >> rsp 0xfffffe00004e19b0
>> >> rbp 0xfffffe00004e19f0
>> >> rsi 0x14
>> >> rdi 0
>> >> r8 0xfffff800038f3000
>> >> r9 0xffffffff81ff1620 vmspace0+0x130
>> >> r10 0xfffff800038f3000
>> >> r11 0x40 ll+0x1f
>> >> r12 0xfffffe00004e19b8
>> >> r13 0xc
>> >> r14 0xfffff8001f0ed400
>> >> r15 0xfffff800038f3000
>> >> rip 0xffffffff80bb68db epoch_call_task+0x7b
>> >> rflags 0x10086
>> >> epoch_call_task+0x7b: movq ll+0xdf(%rax),%rcx
>> >> db> bt
>> >> Tracing pid 0 tid 100081 td 0xfffff800038f3000
>> >> epoch_call_task() at epoch_call_task+0x7b/frame 0xfffffe00004e19f0
>> >> gtaskqueue_run_locked() at gtaskqueue_run_locked+0x139/frame 0xfffffe00004e1a40
>> >> gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0x88/frame 0xfffffe00004e1a70
>> >> fork_exit() at fork_exit+0x84/frame 0xfffffe00004e1ab0
>> >> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00004e1ab0
>> >> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
>> >> db> x/s version
>> >> version: FreeBSD 12.0-CURRENT #0 r333481: Fri May 11 09:08:40 CEST 2018\012 pho at t2.osted.lan:/usr/obj/usr/src/amd64.amd64/sys/PHO\012
>> >> db>
>> >>
>> >> - Peter
More information about the svn-src-head
mailing list