svn commit: r333480 - head/sys/kern
Matthew Macy
mmacy at freebsd.org
Fri May 11 07:29:32 UTC 2018
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-all
mailing list