On Fri, Aug 25, 2017 at 10:06:27AM +0100, Dr. David Alan Gilbert wrote: > * Peter Xu (pet...@redhat.com) wrote: > > On Wed, Aug 23, 2017 at 06:44:12PM +0100, Dr. David Alan Gilbert wrote: > > > > [...] > > > > > > +Most of the commands require the Big QEMU Lock (BQL) be held during > > > > +execution. However, there is a small subset of the commands that may > > > > +not really need BQL at all. To mark out this kind of commands, we can > > > > +specify "without-bql" to "true". This parameter is only a hint for > > > > +internal QMP implementation to provide possiblility to allow commands > > > > +be run in parallel, or reduce the contention of the lock. Users of QMP > > > > +should not really be aware of such information. > > > > > > Well, I think users of these commands might select them specifically > > > because they know that they won't block. Those who care about latency > > > might > > > look to use commands that don't take the lock because of a reduced > > > effect on the performance as well. > > > > What would be the best way to tell user? I think again this should > > mostly for HMP only, right? > > It needs to be docuemnted for QMP users as well so that those developing > management code know what's safe.
I see. What's the corresponding QMP documentation I should touch up? > > > Maybe we can add a new command to list these lock-free commands. Or, > > I can dump something in "help" and "help info" like: > > > > (qemu) help migrate_incoming > > migrate_incoming uri -- Continue an incoming migration from an -incoming > > defer (BQL-less) > > 'lock free' might be better? I'm ok with it. But would the word "lock" too general? -- Peter Xu