If get() returns many L3 hits (this is tracked thanks to the third return value) - we can infer that the shm is full and the LRU is evicting values. It might also be for other reasons (no value was previously cached).
Better add a way to find out if forcible was used for a particular set().