From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Amit Shah <amit.shah@redhat.com>
Cc: hch@lst.de,
Virtualization List <virtualization@lists.linux-foundation.org>
Subject: Re: virtio: console: Barrier needed before dropping early_put_chars?
Date: Tue, 23 Feb 2010 23:07:32 +0100 [thread overview]
Message-ID: <201002232307.32622.borntraeger@de.ibm.com> (raw)
In-Reply-To: <20100223171022.GB32564@amit-x200.redhat.com>
Am Dienstag 23 Februar 2010 18:10:22 schrieb Amit Shah:
> Hey Rusty, Christian,
>
> Christoph Hellwig asked why we don't need a barrier before this code in
> virtcons_probe():
>
> > + /* Start using the new console output. */
> > + early_put_chars = NULL;
> > return 0;
>
> Since only s390 uses early_put_chars so far, you'd know why it's not
> needed / why we're safe.
lguest is also using early_put_chars. See arch/x86/lguest/boot.c
Anyway I had to look into linux-next to see this code. I guess that is the
version you are talking about. (I remember seeing these patches several month
ago).
So what would a barrier do? Protect against gcc moving the early_put_chars=NULL
before the virtqueue is fully initialized and ready?
In practice this should not be necessary since the last thing probe might do
is add_port which is doing send_control_msg which contains cpu_relax (which
is a barrier). So gcc should not be able to move the early_put_chars = NULL
before the add_port loop.
Anyway, an explicit barrier might be a cleaner and more future proof way of
doing it.
next prev parent reply other threads:[~2010-02-23 22:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-23 17:10 virtio: console: Barrier needed before dropping early_put_chars? Amit Shah
2010-02-23 22:07 ` Christian Borntraeger [this message]
2010-02-24 1:07 ` Rusty Russell
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=201002232307.32622.borntraeger@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=amit.shah@redhat.com \
--cc=hch@lst.de \
--cc=virtualization@lists.linux-foundation.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 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).