What lock_do_i_hold should indicate?

Should it return information regarding current thread or current cpu? And why?

locks are held by threads and not cpu. So, yes return information regarding current thread.