softmmu/cpus: Check if the cpu work list is empty atomically
authorIdan Horowitz <idan.horowitz@gmail.com>
Fri, 14 Jan 2022 00:43:57 +0000 (02:43 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 8 Feb 2022 21:55:02 +0000 (08:55 +1100)
commit25e82fb769eddb83e0b68487b8b08d9426704d54
treebf541bd2cd78e26e5350a2473d89a152e1b8b7d7
parentcfc2a2d69d59f02b32df3098ce17e10ab86d43c6
softmmu/cpus: Check if the cpu work list is empty atomically

Instead of taking the lock of the cpu work list in order to check if it's
empty, we can just read the head pointer atomically. This decreases
cpu_work_list_empty's share from 5% to 1.3% in a profile of icount-enabled
aarch64-softmmu.

Signed-off-by: Idan Horowitz <idan.horowitz@gmail.com>
Message-Id: <20220114004358.299534-1-idan.horowitz@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
softmmu/cpus.c