I've been using $shv(x) as well !!
In the cfg file :
modparam("pv", "shvset", "x=i:1")
if ($shv(x) == 100) { xlog("L_INFO", "shv_set_to_100"); }
In my console : kamctl fifo shv_set x int 100
But still no shv_set_to_100 in my message log file :(
i tried with :
if ($shv(x) == 1) { xlog("L_INFO", "shv_set_to_1"); }
and shv_set_to_1 is in the log file..
Weird