Hi Lorenzo, See my implementation of YCSB timestamping in kernel. Please understand the code and review it.
Here my review. https://codereview.appspot.com/312170043/diff/1/kernel_mods/kfilter.c File kernel_mods/kfilter.c (right): https://codereview.appspot.com/312170043/diff/1/kernel_mods/kfilter.c#newcode101 kernel_mods/kfilter.c:101: #define INPACK_YCSB_REQUEST 5 /* YCSB incoming request */ If you are referring to fifth byte of the payload, this should be 7. https://codereview.appspot.com/312170043/diff/1/kernel_mods/kfilter.c#newcode102 kernel_mods/kfilter.c:102: #define OUTPACK_YCSB_RESPONSE 6 /* Reply to YCSB */ If you are referring to fifth byte of the payload, this should be 8. https://codereview.appspot.com/312170043/diff/1/kernel_mods/ktracer.h File kernel_mods/ktracer.h (right): https://codereview.appspot.com/312170043/diff/1/kernel_mods/ktracer.h#newcode92 kernel_mods/ktracer.h:92: uint8_t rqst_resp_type; Isn't it better if we have uint16_t for the request_type and we get rid of unused? https://codereview.appspot.com/312170043/diff/1/kernel_mods/ktracer.h#newcode97 kernel_mods/ktracer.h:97: uint16_t rqst_id; In order too keep consistency between YCSB and this structure, I suggest to rename this field to stream_id. https://codereview.appspot.com/312170043/diff/1/kernel_mods/ktracer.h#newcode104 kernel_mods/ktracer.h:104: #define YCSB_REQUEST_TYPE 4 From wireshark I see that request type is 3 https://codereview.appspot.com/312170043/diff/1/kernel_mods/ktracer.h#newcode105 kernel_mods/ktracer.h:105: #define YCSB_RESPONSE_TYPE 132 From Wireshark I see that response type is 131 (0x83)