You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Besides events that indicate the start and end of read and write operations, the block I/O subsystem gives out information about additional events, such as hard drive buffer cache flushes and so on.
Currently, those get ignored by lo2s because they , depending on the disk type, seldomly, if ever, occur. However, it would still be nice to be able to measure them.
The text was updated successfully, but these errors were encountered:
This is all the information the kernel gives us about events
staticvoidfill_rwbs(char *rwbs, conststructblk_io_trace *t)
{
int i = 0;
int tc = t->action >> BLK_TC_SHIFT;
if ((t->action & ~__BLK_TN_CGROUP) == BLK_TN_MESSAGE) {
rwbs[i++] = 'N';
goto out;
}
if (tc & BLK_TC_FLUSH)
rwbs[i++] = 'F';
if (tc & BLK_TC_DISCARD)
rwbs[i++] = 'D';
elseif (tc & BLK_TC_WRITE)
rwbs[i++] = 'W';
elseif (t->bytes)
rwbs[i++] = 'R';
else
rwbs[i++] = 'N';
if (tc & BLK_TC_FUA)
rwbs[i++] = 'F';
if (tc & BLK_TC_AHEAD)
rwbs[i++] = 'A';
if (tc & BLK_TC_SYNC)
rwbs[i++] = 'S';
if (tc & BLK_TC_META)
rwbs[i++] = 'M';
out:
rwbs[i] = '\0';
}
R and W are read and write respectively.
N is none, so it can be safely discarded
F is flushes, which can be mapped to the flush type otf2 provides. FUA (force unit access) is a more fine-grained flush, so it can be mapped to flush too.
D is for discard. Solid state drives need to know which blocks are not in use currently to be able to do wear levelling. However, this operation does not map to any otf2 concept
A is for readahead. This would be really nice to be able to measure, but there is no nice otf2 concept this maps to and secondly I have not encountered this event type yet
S is for synchronous operation and M for metadata. I haven't encountered those types either.
Besides events that indicate the start and end of read and write operations, the block I/O subsystem gives out information about additional events, such as hard drive buffer cache flushes and so on.
Currently, those get ignored by lo2s because they , depending on the disk type, seldomly, if ever, occur. However, it would still be nice to be able to measure them.
The text was updated successfully, but these errors were encountered: