In an information handling system containing a plurality of processors, each of which is operable either as a host processor under the control of a host program executing on a host machine or as a guest processor under the control of a guest program executing on a guest machine, the guest machine being defined by the host program executing on the host machine and containing a plurality of such guest processors, a method for managing the execution on one of the guest processors of a broadcast instruction requiring a corresponding operation on other processors of the guest machine, the method comprising the steps of:
- defining for the guest machine a lock containing an indication of whether it is being held by a host lock holder from the host program and a count of the number of processors holding the lock as guest lock holders;
- upon decoding a broadcast instruction executing on a processor operating as a guest processor, testing the lock to determine whether it is being held by a host lock holder;
- if the lock is being held by a host lock holder, terminating execution of the instruction;
- and
- if the lock is not being held by a host lock holder, updating the lock to indicate that it is being held by the guest processor as a shared lock holder and executing the instruction.