[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 24/39] include/exec/log: Do not reference QemuLogFile directly
From: |
Richard Henderson |
Subject: |
[PATCH v2 24/39] include/exec/log: Do not reference QemuLogFile directly |
Date: |
Sat, 26 Mar 2022 07:25:19 -0600 |
Use qemu_log_trylock/unlock instead of the raw rcu_read.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/exec/log.h | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/include/exec/log.h b/include/exec/log.h
index ad0a40cfeb..4a7375a45f 100644
--- a/include/exec/log.h
+++ b/include/exec/log.h
@@ -15,15 +15,10 @@
*/
static inline void log_cpu_state(CPUState *cpu, int flags)
{
- QemuLogFile *logfile;
-
- if (qemu_log_enabled()) {
- rcu_read_lock();
- logfile = qatomic_rcu_read(&qemu_logfile);
- if (logfile) {
- cpu_dump_state(cpu, logfile->fd, flags);
- }
- rcu_read_unlock();
+ FILE *f = qemu_log_trylock();
+ if (f) {
+ cpu_dump_state(cpu, f, flags);
+ qemu_log_unlock(f);
}
}
--
2.25.1
- [PATCH v2 08/39] hw/xen: Split out xen_pv_output_msg, (continued)
- [PATCH v2 08/39] hw/xen: Split out xen_pv_output_msg, Richard Henderson, 2022/03/26
- [PATCH v2 8/8] tests/tcg/nios2: Re-enable linux-user tests, Richard Henderson, 2022/03/26
- [PATCH v2 10/39] util/log: Remove qemu_log_vprintf, Richard Henderson, 2022/03/26
- [PATCH v2 09/39] *: Use fprintf between qemu_log_trylock/unlock, Richard Henderson, 2022/03/26
- [PATCH v2 11/39] tcg: Pass the locked filepointer to tcg_dump_ops, Richard Henderson, 2022/03/26
- [PATCH v2 13/39] exec/log: Remove log_disas and log_target_disas, Richard Henderson, 2022/03/26
- [PATCH v2 12/39] exec/translator: Pass the locked filepointer to disas_log hook, Richard Henderson, 2022/03/26
- [PATCH v2 19/39] util/log: Remove qemu_log_flush, Richard Henderson, 2022/03/26
- [PATCH v2 16/39] util/log: Use qemu_log_trylock/unlock in qemu_log, Richard Henderson, 2022/03/26
- [PATCH v2 25/39] include/qemu/log: Move entire implementation out-of-line, Richard Henderson, 2022/03/26
- [PATCH v2 24/39] include/exec/log: Do not reference QemuLogFile directly,
Richard Henderson <=
- [PATCH v2 15/39] target/nios2: Remove log_cpu_state from reset, Richard Henderson, 2022/03/26
- [PATCH v2 20/39] util/log: Drop call to setvbuf, Richard Henderson, 2022/03/26
- [PATCH v2 26/39] sysemu/os-win32: Test for and use _lock_file/_unlock_file, Richard Henderson, 2022/03/26
- [PATCH v2 28/39] bsd-user: Use qemu_set_log_filename_flags, Richard Henderson, 2022/03/26
- [PATCH v2 14/39] accel/tcg: Use cpu_dump_state between qemu_log_trylock/unlock, Richard Henderson, 2022/03/26
- [PATCH v2 31/39] util/log: Remove qemu_log_close, Richard Henderson, 2022/03/26
- [PATCH v2 30/39] softmmu: Use qemu_set_log_filename_flags, Richard Henderson, 2022/03/26
- [PATCH v2 29/39] linux-user: Use qemu_set_log_filename_flags, Richard Henderson, 2022/03/26
- [PATCH v2 18/39] util/log: Mark qemu_log_trylock as G_GNUC_WARN_UNUSED_RESULT, Richard Henderson, 2022/03/26
- [PATCH v2 17/39] util/log: Drop return value from qemu_log, Richard Henderson, 2022/03/26