git: 98215005b747 - main - ktls: start a thread to keep the 16k ktls buffer zone populated

Andrew Gallatin gallatin at cs.duke.edu
Thu Aug 5 16:52:21 UTC 2021


On 8/5/21 11:59 AM, Ed Maste wrote:
> On Thu, 5 Aug 2021 at 10:22, Andrew Gallatin <gallatin at freebsd.org> wrote:
>>
>> The branch main has been updated by gallatin:
>>
>> URL: https://urldefense.com/v3/__https://cgit.FreeBSD.org/src/commit/?id=98215005b747fef67f44794ca64abd473b98bade__;!!OToaGQ!6H22s_lcYmkhuynvYHpkyGHe143j9dOq8CYazaDqtTi9kyapeu9DMyf0Tvo0tDDCVw$
>>
>> commit 98215005b747fef67f44794ca64abd473b98bade
>> Author:     Andrew Gallatin <gallatin at FreeBSD.org>
>> AuthorDate: 2021-08-05 14:15:09 +0000
>> Commit:     Andrew Gallatin <gallatin at FreeBSD.org>
>> CommitDate: 2021-08-05 14:19:12 +0000
>>
>>      ktls: start a thread to keep the 16k ktls buffer zone populated
> 
> My Cirrus-CI boot smoke test is now failing with:
> 
> Starting KTLS alloc thread for domain 0
> panic: sleeping without a lock
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0000b20ae0
> vpanic() at vpanic+0x187/frame 0xfffffe0000b20b40
> panic() at panic+0x43/frame 0xfffffe0000b20ba0
> _sleep() at _sleep+0x484/frame 0xfffffe0000b20c40
> ktls_alloc_thread() at ktls_alloc_thread+0x1c4/frame 0xfffffe0000b20cf0
> fork_exit() at fork_exit+0x80/frame 0xfffffe0000b20d30
> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0000b20d30
> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
> KDB: enter: panic
> [ thread pid 2 tid 100027 ]
> Stopped at kdb_enter+0x37: movq $0,0x127877e(%rip)
> db> qemu-system-x86_64: terminating on signal 15 from pid 32579 (timeout)
> Did not boot successfully, see /tmp/ci-qemu-test-boot.log
> 

I'd thought that I'd tested this with INVARIANTS, but I guess I was 
wrong.  The assert is failing because I'm sleeping forever (sbt == 0).
I don't understand the point of the assert, but I've
reproduced the panic and am testing a workaround.

Drew


More information about the dev-commits-src-all mailing list