Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e39365be authored by Nicholas Mc Guire's avatar Nicholas Mc Guire Committed by Pablo Neira Ayuso
Browse files

netfilter: nf_conntrack: consolidate lock/unlock into unlock_wait



The spin_lock()/spin_unlock() is synchronizing on the
nf_conntrack_locks_all_lock which is equivalent to
spin_unlock_wait() but the later should be more efficient.

Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 05752523
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -74,8 +74,7 @@ void nf_conntrack_lock(spinlock_t *lock) __acquires(lock)
	spin_lock(lock);
	while (unlikely(nf_conntrack_locks_all)) {
		spin_unlock(lock);
		spin_lock(&nf_conntrack_locks_all_lock);
		spin_unlock(&nf_conntrack_locks_all_lock);
		spin_unlock_wait(&nf_conntrack_locks_all_lock);
		spin_lock(lock);
	}
}
@@ -121,8 +120,7 @@ static void nf_conntrack_all_lock(void)
	nf_conntrack_locks_all = true;

	for (i = 0; i < CONNTRACK_LOCKS; i++) {
		spin_lock(&nf_conntrack_locks[i]);
		spin_unlock(&nf_conntrack_locks[i]);
		spin_unlock_wait(&nf_conntrack_locks[i]);
	}
}