blob: e54ac8a8ddf260c9c459239976e5b81a4be8595e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
x86: 0.938
graphic: 0.784
device: 0.653
i386: 0.567
semantic: 0.477
performance: 0.415
files: 0.408
architecture: 0.347
boot: 0.312
vnc: 0.306
virtual: 0.250
mistranslation: 0.236
user-level: 0.225
kernel: 0.215
register: 0.197
socket: 0.188
permissions: 0.165
PID: 0.162
network: 0.152
hypervisor: 0.096
risc-v: 0.069
ppc: 0.069
debug: 0.068
TCG: 0.034
VMM: 0.033
arm: 0.032
peripherals: 0.029
assembly: 0.022
KVM: 0.006
NVMe SQ processing gets stuck when IO queue size is small (for example 4)
Steps to reproduce:
1. Get OSv repo with the NVMe driver and build OSv with the 'Hello World' example:
```
git clone https://github.com/wkozaczuk/osv.git
cd osv
git checkout nvme_refined
git submodule update --init --recursive
./scripts/setup.py
./scripts/build image=native-example fs=zfs -j$(nproc)
```
2. Run OSv with NVme on and point to your version of QEMU built with tracing enabled:
```
./scripts/run.py --qemu-path /home/wkozaczuk/projects/qemu/build/qemu-system-x86_64 --nics=0 --nvme -c 1 --pass-arg "--trace pci_nvme_*"
```
Additional information:
I am adding both full QEMU logs with NVMe tracing enabled and diff of my changes to QEMU code to add extra logging.
|