add definition of sema_down/up_with_donation