On Fri, May 01, 2020 at 05:10:40PM -0400, Joshua Abraham wrote: > On Fri, May 01, 2020 at 01:51:06PM -0700, Sean Christopherson wrote: > > I don't disagree, but simply doing s/host/guest yields a misleading > > sentence and inconsistencies with the rest of the paragraph. > > I see your point. Would this wording be clearer: > > "This ioctl sets a flag accessible to the guest indicating that it has been > paused from the host userspace. Ya. Minor nit, probably worth clarifying that 'it' refers to the vCPU, e.g. This ioctl sets a flag accessible to the guest indicating that the specified vCPU has been paused by the host userspace. > > The host will set a flag in the pvclock structure that is checked > from the soft lockup watchdog. The flag is part of the pvclock structure that > is shared between guest and host, specifically the second bit of the flags > field of the pvclock_vcpu_time_info structure. It will be set exclusively by > the host and read/cleared exclusively by the guest. The guest operation of > checking and clearing the flag must be an atomic operation so > load-link/store-conditional, or equivalent must be used. There are two cases > where the guest will clear the flag: when the soft lockup watchdog timer resets > itself or when a soft lockup is detected. This ioctl can be called any time > after pausing the vcpu, but before it is resumed."