svn commit: r333480 - head/sys/kern

Matthew Macy mmacy at freebsd.org
Fri May 11 07:36:42 UTC 2018


- How many cores? How many sockets?
- Any special config options other than DIAGNOSTIC?

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