Em relação aos contadores em /proc/vmstat
, a função que parece atualizar esses valores é submit_bio
in Linux/block/blk-core.c
.
2067 blk_qc_t submit_bio(struct bio *bio)
2068 {
...
2079 count = bio_sectors(bio);
2080
2081 if (op_is_write(bio_op(bio))) {
2082 count_vm_events(PGPGOUT, count);
2083 } else {
2084 task_io_account_read(bio->bi_iter.bi_size);
2085 count_vm_events(PGPGIN, count);
2086 }
...
2100 }
2101 EXPORT_SYMBOL(submit_bio);
bio_sectors
é uma macro em Linux/include/linux/bio.h
64 #define bio_sectors(bio) ((bio)->bi_iter.bi_size >> 9)
Isso parece sugerir que os números são contados em tamanhos de setor (512) bytes. Dado isso, qual seria o valor que você teria se mudasse uma contagem de bytes por nove.
Esta parece ser uma configuração similar entre os kernels 2.6.27 - 4.0.x de qualquer maneira.