Project

General

Profile

Bug #9249

System crash dump to NVME not working

Added by Yuri Pankov over 1 year ago. Updated 12 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
kernel
Start date:
2018-03-06
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:

Description

dumping to /dev/zvol/dsk/rpool/dump, offset 65536, content: kernel
dumping:  0:00   1% done
  1% done: 6146 pages dumped, dump failed: error 11

The problem was introduced in #8628, which works correctly under normal conditions, but when the system is panicking, semaphores behavior becomes inconsistent:

- sema_p() would allow the count to go down to 0, and NOT block
- sema_tryp() used in io submission queue would then never succeeded
- and sema_v() would NOT increase the count at all

So the operation seem to go normal, with one cmd at time during panic -- we get cmd to the queue, do a sema_tryp() (count goes down), cmd completed, we take it out of the queue, do a sema_v() (count does NOT go up), so we return EAGAIN after 'count' cmds have been processed.

The fix here is to make semaphores complete no-op during panic.


Related issues

Related to illumos gate - Bug #8628: nvme: use a semaphore to guard submission queueClosed

Actions

History

#1

Updated by Yuri Pankov 12 months ago

  • Subject changed from kernel dump fails on emulated nvme in VMware ESXi VM to System crash dump to NVME not working
  • Category set to kernel
  • Status changed from New to In Progress
  • Assignee set to Yuri Pankov
  • % Done changed from 0 to 50
  • Difficulty changed from Medium to Bite-size
  • Tags deleted (needs-triage)
#2

Updated by Yuri Pankov 12 months ago

  • Description updated (diff)
#3

Updated by Electric Monk 12 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100

git commit 64216313af8955ed170cf25df29a04c18b3e0296

commit  64216313af8955ed170cf25df29a04c18b3e0296
Author: Joyce McIntosh <joyce.mcintosh@nexenta.com>
Date:   2018-08-07T17:37:45.000Z

    9249 System crash dump to NVME not working
    Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
    Reviewed by: Evan Layton <evan.layton@nexenta.com>
    Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
    Reviewed by: Ryan Zezeski <rpz@joyent.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

#4

Updated by Marcel Telka 11 months ago

  • Related to Bug #8628: nvme: use a semaphore to guard submission queue added

Also available in: Atom PDF