All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Akihiko Odaki <akihiko.odaki@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	qemu Developers <qemu-devel@nongnu.org>
Subject: Re: [RFC uncompiled PATCH] cocoa: run qemu_init in the main thread
Date: Mon, 7 Mar 2022 16:35:05 +0000	[thread overview]
Message-ID: <CAFEAcA8h0E5i=iJswVwC+v_=vs_u92-s90wMgq_C5ZjSTsrZSw@mail.gmail.com> (raw)
In-Reply-To: <CAMVc7JU=easTepCd=j0QHWBcFrry7iYXgX1BbQjs27fmxZGXrA@mail.gmail.com>

On Mon, 7 Mar 2022 at 16:27, Akihiko Odaki <akihiko.odaki@gmail.com> wrote:
> On Tue, Mar 8, 2022 at 1:14 AM Peter Maydell <peter.maydell@linaro.org> wrote:
> > The main benefit of Paolo's suggestion from my point of view is
> > that it entirely eliminates the odd situation where cocoa.m wants to
> > make calls back into QEMU code where it does not itself hold
> > the iothread lock in the current thread, but instead knows that
> > some other thread does and is waiting for it. Instead we end up
> > with a much more straightforward situation of "every time we
> > call into QEMU code we hold the iothread lock directly ourselves".

> The current cocoa.m somehows calls back into QEMU code in main, but
> that is not necessary as demonstrated in:
> https://patchew.org/QEMU/20220307134946.61407-1-akihiko.odaki@gmail.com/
>
> With the code is moved, it becomes only a difference of the place
> where the code without iothread is located, in main or in
> [-QemuCocoaAppController applicationDidFinishLaunching:].

That series doesn't remove the general design that has quite a bit
of "we know some other thread holds the lock and waits for us" code.
It also gives us the opposite problem that we're now calling a lot
of Cocoa APIs from something other than the main Cocoa thread.

thanks
-- PMM


  reply	other threads:[~2022-03-07 16:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-07 15:10 [RFC uncompiled PATCH] cocoa: run qemu_init in the main thread Paolo Bonzini
2022-03-07 15:34 ` Akihiko Odaki
2022-03-07 16:14   ` Peter Maydell
2022-03-07 16:27     ` Akihiko Odaki
2022-03-07 16:35       ` Peter Maydell [this message]
2022-03-07 16:41         ` Akihiko Odaki
2022-03-07 17:21           ` Paolo Bonzini
2022-03-07 19:25             ` Akihiko Odaki
2022-03-07 16:39   ` Paolo Bonzini
2022-03-07 17:03     ` Akihiko Odaki
2022-03-07 17:06 ` Paolo Bonzini
2022-03-16 16:02 ` Philippe Mathieu-Daudé

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='CAFEAcA8h0E5i=iJswVwC+v_=vs_u92-s90wMgq_C5ZjSTsrZSw@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=akihiko.odaki@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.