Concluding Event Logging

The conclusion procedure for event logging of a specific type is symmetrical with the preparation procedure. The guest should finalize the event logging environment for the type as described in the following items:

  • Disable all event sources by calling the HvSetEventLogGroupSources hypercall function and by specifying the event source mask as zero.

  • Flush all active buffers by calling the HvFlushEventLogBuffer hypercall function. If the guest needs to retain the data, the guest should wait for the event log buffers ready messages to be delivered. Note that if the local buffer class is being used, a message might be generated for each logical processor. The guest should release the buffers back to the hypervisor to be placed onto the free list by calling the HvReleaseEventLogBuffer hypercall function.

  • The guest waits until all buffers are free before proceeding.

  • All mapped buffers are unmapped by calling the HvUnmapEventLogBuffer hypercall function. This unmapping revokes the read-only access to the buffer's pages.

  • All buffers are deleted by calling the HvDeleteEventLogBuffer hypercall function. Deleting the buffers returns the pages for the buffers to the partition's pool that the pages came from.

  • The event log buffer group is finalized by calling the HvFinalizeEventLogBufferGroup hypercall function. Any pages that the hypervisor allocated for the group's infrastructure are returned to the partition's pool.

After event logging is concluded, excess free pages can be withdrawn from the partition's pool.

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.