[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 04/30] add a header file for atomic operations
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH 04/30] add a header file for atomic operations |
Date: |
Mon, 01 Jul 2013 08:00:50 -0500 |
User-agent: |
Notmuch/0.15.2+77~g661dcf8 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Paolo Bonzini <address@hidden> writes:
> Il 28/06/2013 22:41, Anthony Liguori ha scritto:
>> Tiny copy/paste error here: s/qemu memory/memory/g".
>>
>> One thing I've been thinking about reviewing this code, what should we
>> be doing in virtio.c?
>>
>> We have barriers but we're relying on st[u][wlb]_phys having atomic
>> semantics. I think it's okay in practice but if we're taking a more
>> diligent approach here should we introduce atomic variants that work on
>> guest phys addresses?
>
> I think it's part of the semantics of stu?[wlb]_phys that they (a) are
> not CSE'd by the compiler (b) are atomic for aligned addresses. I
> cannot find the commit exactly, but I think mst added specific code for
> that.
Right, I'm not questioning whether these functions have strong enough
semantics in their implementation, but asking what their contract should
be.
Either we should document that these functions have atomic semantics or
we should introduce another variant that guarantee atomic access.
I think the later makes more sense since the majority of users probably
don't need atomic semantics.
Regards,
Anthony Liguori
>
> Paolo