blob: 611d2ca17202d059bbfdf516f722f644e7639f42 (
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
|
performance: 0.856
device: 0.794
graphic: 0.596
semantic: 0.589
mistranslation: 0.486
architecture: 0.436
vnc: 0.404
kernel: 0.392
socket: 0.385
ppc: 0.380
boot: 0.346
risc-v: 0.345
arm: 0.330
network: 0.288
VMM: 0.246
debug: 0.201
user-level: 0.194
x86: 0.192
permissions: 0.185
KVM: 0.177
PID: 0.176
TCG: 0.169
files: 0.163
i386: 0.147
register: 0.115
assembly: 0.112
peripherals: 0.102
hypervisor: 0.095
virtual: 0.066
storage physical_block_size is restricted to uint16_t
It is desirable to set -global scsi-hd.physical_block_size=4194304 for RBD-backed storage.
But unfortunatelly, this values is restricted with uint16_t, i.e. 65536 maximum.
For example, scsi-hd.discard_granularity=4194304 is not so restricted (and works as expected)
I think the SCSI spec is limited to 16 bits for representing the block length (in bytes) (see READ CAPACITY(10) command). It's also probably sub-optimal to force a full 4MiB write even for small IOs. You might achieve what you are looking for by setting the minimal and optimal IO size hints to 4MiB (exposed via SCSI block limits VPD page) using "min_io_size" and "opt_io_size" settings.
Yes, you are right. Thanks for the response.
|