[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC 3/3] virtio-gpu: make the IO handler reentrant
From: |
Michael Tokarev |
Subject: |
Re: [RFC 3/3] virtio-gpu: make the IO handler reentrant |
Date: |
Thu, 3 Sep 2020 08:12:35 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
02.09.2020 19:22, Li Qiang wrote:
..
> @@ -809,6 +809,10 @@ void virtio_gpu_process_cmdq(VirtIOGPU *g)
> {
> struct virtio_gpu_ctrl_command *cmd;
>
> + if (atomic_read(&g->in_io)) {
> + return;
> + }
> + atomic_set(&g->in_io, 1);
Can't we race in these two instructions? Both
threads atomic_reads at the same time, both see zero,
and both are trying to set it to 1, no?
Just asking really, b/c despite of the atomic_ prefix,
to me this look a bit unsafe..
Thanks,
/mjt
Re: [RFC 0/3] try to solve the DMA to MMIO issue, Peter Maydell, 2020/09/03