[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 2/6] introduce UFFD-WP low-level interface helpers
From: |
Peter Xu |
Subject: |
Re: [PATCH v4 2/6] introduce UFFD-WP low-level interface helpers |
Date: |
Mon, 30 Nov 2020 10:34:19 -0500 |
On Sun, Nov 29, 2020 at 11:12:10PM +0300, Andrey Gruzdev wrote:
> > > +void ram_write_tracking_stop(void)
> > > +{
> > > +#ifdef CONFIG_LINUX
> > > + RAMState *rs = ram_state;
> > > + RAMBlock *bs;
> > > + assert(rs->uffdio_fd >= 0);
> >
> > Maybe too harsh - we can return if it's invalid.
> >
> > Meanwhile, better rcu_read_lock(), as well?
> >
>
> Yep, RCU lock, I'll add. Why too harsh? Just a debug assertion.
I was afraid some special path could trigger ram_write_tracking_stop() being
called before ram_write_tracking_start(), then vm could crash. If we can
guarantee that not happening, then it's also ok with assert().
[...]
> > > +/**
> > > + * uffd_poll_events: poll UFFD file descriptor for read
> > > + *
> > > + * Returns true if events are available for read, false otherwise
> > > + *
> > > + * @uffd: UFFD file descriptor
> > > + * @tmo: timeout in milliseconds, 0 for non-blocking operation,
> > > + * negative value for infinite wait
> > > + */
> > > +bool uffd_poll_events(int uffd, int tmo)
> >
> > Shall we spell "tmo" out?
> In the comment? I think it's ok.
I'd suggest to spell it out everywhere, especially in the codes. But feel free
to take your own preference. Thanks,
--
Peter Xu
[PATCH v4 3/6] support UFFD write fault processing in ram_save_iterate(), Andrey Gruzdev, 2020/11/26
[PATCH v4 4/6] implementation of background snapshot thread, Andrey Gruzdev, 2020/11/26
[PATCH v4 5/6] the rest of write tracking migration code, Andrey Gruzdev, 2020/11/26