Hi Steven, I tested your patch on Esxi. The problem that the guest whom I reported cannot stop was broken off by your patch.
* It is not used 100% for the CPU of the guest. * And corosync stops quickly. We look forward to the next release of corosync. Best Regards, Hideo Yamauchi. --- Steven Dake <sd...@redhat.com> wrote: > The global serializer mutex is left in a locked state during the > shutdown process. At about the same time, the timer system expires a > timer (which takes the global serializer lock) leading to either high > CPU use on multiprocessor during shutdown or deadlock on uniprocessor. > > Regards > -steve > > Index: exec/main.c > =================================================================== > --- exec/main.c (revision 2948) > +++ exec/main.c (working copy) > @@ -139,6 +139,8 @@ > > static sem_t corosync_exit_sem; > > +static void serialize_unlock (void); > + > hdb_handle_t corosync_poll_handle_get (void) > { > return (corosync_poll_handle); > @@ -157,6 +159,13 @@ > > static void unlink_all_completed (void) > { > + /* > + * The schedwrk_do API takes the global serializer lock > + * but doesn't release it because this exit callback is called > + * before it finishes. Since we know we are exiting, we unlock it > + * here > + */ > + serialize_unlock (); > poll_stop (corosync_poll_handle); > totempg_finalize (); > > > _______________________________________________ > Openais mailing list > Openais@lists.linux-foundation.org > https://lists.linux-foundation.org/mailman/listinfo/openais _______________________________________________ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais