Avi Kivity <[email protected]> wrote:

> > It should not be necessary, atomicity of updates to
> > memslot->dirty_bitmap, because of RCU updates to the memslot pointer
> > (note memslot = gfn_to_memslot(kvm, gfn); in mark_page_dirty).
> >
> > The order is:
> >
> > - update page data.
> > - grab memslot pointer.
> > - set page bit in memslot.
> >
> 
> What if both grab the same memslot pointer, but set different bits?

(Sorry for my bad wording, that is what I wanted to explain.)

There seems to be possible concurrent __set_bit()'s to the same word
which will result in bit loss.

I was thinking to change the kvm-unit-tests' dirty log test to write
to two consecutive pages concurrently.  Is this good for debugging this?

        Takuya
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to