Both kernel and userspace. It is recommended by both Intel and AMD. Also, on AMD this means that more appropriate fence is used instead of too harsh MFENCe.
My crash box uses TSC and not TSC-low, so half of the patch with more delicate asm is not yet tried.
IMO it is a bit neater to dereference th in rdtsc_low() rather than its callers, like rdtscp_low().