/* We split the mutex lock/unlock logic into separate fastpath and slowpath functions, to reduce the register pressure on the fastpath. We also put the fastpath first in the kernel image, to make sure the branch is predicted by the CPU as default-untaken.  */
static __used noinline void __sched __mutex_lock_slowpath(atomic_t *lock_count)
/* We split the mutex lock/unlock logic into separate fastpath and slowpath functions, to reduce the register pressure on the fastpath. We also put the fastpath first in the kernel image, to make sure the branch is predicted by the CPU as default-untaken.  */
static __used noinline void __sched __mutex_lock_slowpath(atomic_t *lock_count)
{
	struct mutex *lock = container_of(lock_count, struct mutex, count);
	__mutex_lock_common(lock, TASK_UNINTERRUPTIBLE, 0, _RET_IP_);
}