On Tue, Sep 3, 2013 at 10:09 AM, Paolo Bonzini <pbonz...@redhat.com> wrote: > > Il 03/09/2013 15:56, Mike Day ha scritto: > >> > + /* this implements a long-running RCU critical section. > >> > + * When rcu reclaims in the code start to become numerous > >> > + * it will be necessary to reduce the granularity of this critical > >> > + * section. > >> > + */ > >> > >> Please add the same comment (and a rcu_read_lock/unlock pair replacing > >> the ramlist mutex) in ram_save_iterate, too. > > > > Just double checking on this particular change. In practice ram_save > > manipulates the ram_list indirectly through ram_save_block. But I'm > > assuming you want this change because of the ram state info that > > persists between calls to ram_save (ram_list version in particular). > > ram_list.version is not really a problem, but last_seen_block has to > persist across ram_save_block calls.
Got it. that's a subtle point. > > Also, there is potential for the callback functions > > ram_control_*_iterate to manipulate the ram_list. > > I think that's right now not possible (and they could use > rcu_read_lock/unlock as well). Yeah. So how about we say for now that the rcu critical section status upon entry to the ram_control_*_iterate functions is undefined. I'll make some updates. Mike