1 |
> That, indeed, seems to to be the case. When I do cat /proc/interrupts | |
2 |
> egrep '(CPU/nvm)', I get just the header line with one data line: |
3 |
> |
4 |
> CPU0 CPU1 CPU2 CPU3 |
5 |
> 17: 0 0 15 14605 IO-APIC 17-fasteoi |
6 |
> ehci_hcd:usb1, nvme0q0, nvme0q1 |
7 |
> |
8 |
> I'm kind of feeling a bit out of my depth here. What are the nvme0q0, |
9 |
> etc.? "Queues" of some kind? You appear to have nine of these things, |
10 |
> I've just got two. I'm sure there's a fine manual I ought to be |
11 |
> reading. Do you know where I might find this manual? |
12 |
> |
13 |
|
14 |
Can't remember where i read up on this. Might have been troubleshooting |
15 |
poor small packet performance on a firewall (some network drivers can have |
16 |
multiqueue too). Maybe start with this; |
17 |
https://www.thomas-krenn.com/en/wiki/Linux_Multi-Queue_Block_IO_Queueing_Mechanism_(blk-mq) |
18 |
|
19 |
It looks like the nvme driver was made "mutliqueue" in kernel 3.19. |
20 |
|
21 |
FWIW my system is 8 core (AMD 8350). Its odd having two queues on the same |
22 |
interrupt, but I have the same for q0 and q1, but on your system i'd say |
23 |
there should be some queues on other interrupts to they can be serviced by |
24 |
other cores, so that doesnt look right. |
25 |
|
26 |
Do you have MSI enabled? Bus options -> PCI Support -> Message Signaled |
27 |
Interrupts (MSI and MSI-X) |
28 |
If your system is not too old you may get more interrupts or a better |
29 |
spread with that enabled. |
30 |
|
31 |
When I look at the entire /proc/interrupts, there are just 30 lines |
32 |
> listed, and I suspect there are no more than 32 interrupt numbers |
33 |
> available. Is there any way I can configure Linux to give my SSD more |
34 |
> than one interrupt line to work with? |
35 |
> |
36 |
> > FWIW |
37 |
> > # hdparm -tT /dev/nvme0n1 |
38 |
> |
39 |
> > /dev/nvme0n1: |
40 |
> > Timing cached reads: 9884 MB in 2.00 seconds = 4945.35 MB/sec |
41 |
> > Timing buffered disk reads: 4506 MB in 3.00 seconds = 1501.84 MB/sec |
42 |
> |
43 |
> I get: |
44 |
> |
45 |
> /dev/nvme0n1: |
46 |
> Timing cached reads: 4248 MB in 2.00 seconds = 2124.01 MB/sec |
47 |
> Timing buffered disk reads: 1214 MB in 3.00 seconds = 404.51 MB/sec |
48 |
> |
49 |
> So my "cached reads" speed is (a little under) half of yours. This is |
50 |
> to be expected, since my PCIe lanes are only version 2 (and yours are |
51 |
> probably version 3). |
52 |
|
53 |
|
54 |
FWIW the motherboard manual says it has PCIe 2.0 x16 slots. Agree that |
55 |
cache speed is likely a hardware issue. |
56 |
|
57 |
|
58 |
> But the "buffered disk read" are much slower. Is |
59 |
> this just the age of my PC, or might I have something suboptimally |
60 |
> configured? |
61 |
> |
62 |
|
63 |
You look like you're getting SATA speeds, but since you have the nvme |
64 |
device, i guess that implies you havent fallen back to SATA. Could well be |
65 |
older hardware or less PCIe slots/lanes. |