From: Warner Losh <imp@bsdimp.com>
To: Josh Kunz <jkz@google.com>
Cc: armbru@redhat.com, riku.voipio@iki.fi, alex.bennee@linaro.org,
QEMU Developers <qemu-devel@nongnu.org>,
laurent@vivier.eu
Subject: Re: [PATCH 0/4] migration: Replace gemu_log with qemu_log
Date: Mon, 13 Jan 2020 20:06:41 -0700 [thread overview]
Message-ID: <CANCZdfq66Fsw=C0YSi6zWs_=r+0cNfPjhvchiSJnfY2MBWT8LA@mail.gmail.com> (raw)
In-Reply-To: <20200114030138.260347-1-jkz@google.com>
[-- Attachment #1: Type: text/plain, Size: 3298 bytes --]
On Mon, Jan 13, 2020, 8:03 PM Josh Kunz <jkz@google.com> wrote:
> The linux-user and bsd-user trees both widely use a function called
> `gemu_log` (notice the 'g') for miscellaneous and strace logging. This
> function predates the newer `qemu_log` function, and has a few drawbacks
> compared to `qemu_log`:
>
> 1. Always logs to `stderr`, no logging redirection.
> 2. "Miscellaneous" logging cannot be disabled, so it may mix with guest
> logging.
> 3. Inconsistency with other parts of the QEMU codebase, and a
> confusing name.
>
> The second issue is especially troubling because it can interfere with
> programs that expect to communicate via stderr.
>
> This change introduces two new logging masks to the `qemu_log` subsystem
> to support its use for user-mode logging. The `LOG_USER` mask, for
> miscellaneous logs, and the `LOG_STRACE` mask for strace-specific
> logging. Further, it replaces all existing uses of `gemu_log` with the
> appropriate `qemu_log_mask(LOG_{USER,STRACE}, ...)` based on the log
> message. To avoid potential backwards incompatibility, this patch series
> also introduces a new flag: `-no-force-user-mode-logging`. Since "user
> mode" logging was always enabled before this change, by-default the
> LOG_USER mask is always set. The flag is provided for users that want to
> disable LOG_USER. Hopefully, this flag can be removed, or turned into a
> no-op in the futre, and -d/QEMU_LOG can be used directly to enable
> user-mode logging if desired.
>
> Unfortunately, this change introduces one small backwards incompatibility
> for the linux-user tree: If an explicit `-D` option is provided, or the
> `QEMU_LOG_FILENAME`_ environment variable is set, strace and user-mode
> logging statements will log to the QEMU log file instead of stderr.
>
> Tested:
> * Built with clang 9 and g++ 8.3
> * `make check` run with clang 9 build
> * Verified:
> * QEMU_STRACE/-strace still works for linux-user
> * -no-force-user-mode-logging uses QEMU_LOG + `user_mode` or
> `strace` can be set in QEMU_LOG to trigger the appropriate
> logging.
>
> Not tested:
> * Build/logging with bsd-user. I do not have easy access to a BSD system.
>
The bsd-user that is in tree doesn't work. I've been trying to catch up to
qemu head of tree, but I'm only up to 3.2... chances are the bsd-user
changes will not change the state of things...
Warner
Josh Kunz (4):
> linux-user: Use `qemu_log' for non-strace logging
> linux-user: Use `qemu_log' for strace
> linux-user: remove gemu_log from the linux-user tree
> bsd-user: Replace gemu_log with qemu_log
>
> bsd-user/main.c | 13 +-
> bsd-user/qemu.h | 2 -
> bsd-user/strace.c | 32 ++-
> bsd-user/syscall.c | 31 ++-
> include/qemu/log.h | 15 ++
> linux-user/arm/cpu_loop.c | 5 +-
> linux-user/fd-trans.c | 55 +++--
> linux-user/main.c | 50 +++-
> linux-user/qemu.h | 2 -
> linux-user/signal.c | 3 +-
> linux-user/strace.c | 479 +++++++++++++++++++-------------------
> linux-user/syscall.c | 43 ++--
> linux-user/vm86.c | 3 +-
> util/log.c | 5 +
> 14 files changed, 404 insertions(+), 334 deletions(-)
>
> --
> 2.25.0.rc1.283.g88dfdc4193-goog
>
>
>
[-- Attachment #2: Type: text/html, Size: 4244 bytes --]
next prev parent reply other threads:[~2020-01-14 3:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-14 3:01 [PATCH 0/4] migration: Replace gemu_log with qemu_log Josh Kunz
2020-01-14 3:01 ` [PATCH 1/4] linux-user: Use `qemu_log' for non-strace logging Josh Kunz
2020-01-14 8:28 ` Laurent Vivier
2020-01-14 8:30 ` Laurent Vivier
2020-01-14 10:42 ` Alex Bennée
2020-01-17 19:28 ` Josh Kunz
2020-01-14 3:01 ` [PATCH 2/4] linux-user: Use `qemu_log' for strace Josh Kunz
2020-01-14 9:09 ` Laurent Vivier
2020-01-14 16:15 ` Paolo Bonzini
2020-01-17 19:28 ` Josh Kunz
2020-01-14 10:55 ` Alex Bennée
2020-01-17 19:28 ` Josh Kunz
2020-01-14 3:01 ` [PATCH 3/4] linux-user: remove gemu_log from the linux-user tree Josh Kunz
2020-01-14 10:56 ` Alex Bennée
2020-01-14 3:01 ` [PATCH 4/4] bsd-user: Replace gemu_log with qemu_log Josh Kunz
2020-01-14 3:06 ` Warner Losh [this message]
2020-01-16 23:13 ` [PATCH 0/4] migration: " Josh Kunz
2020-01-14 11:02 ` Alex Bennée
2020-01-16 23:12 ` Josh Kunz
2020-01-20 11:36 ` Alex Bennée
2020-02-04 2:55 ` Josh Kunz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CANCZdfq66Fsw=C0YSi6zWs_=r+0cNfPjhvchiSJnfY2MBWT8LA@mail.gmail.com' \
--to=imp@bsdimp.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=jkz@google.com \
--cc=laurent@vivier.eu \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).