task_work: use READ_ONCE/lockless_dereference, avoid pi_lock if !task_works