ssrg-vt / popcorn-kernel

Popcorn Linux kernel for distributed thread execution
Other
156 stars 22 forks source link

Handler for PCN_KMSG_TYPE_VMA_OP_REQUEST does not always send a response #65

Closed bxatnarf closed 5 years ago

bxatnarf commented 5 years ago

When vma_server_munmap_origin sends a message of type PCN_KMSG_TYPE_VMA_OP_REQUEST with operation = VMA_OP_MUNMAP to a different host, it waits until it gets a response (PCN_KMSG_TYPE_VMA_OP_RESPONSE) or until timeout. I've found an instance when the origin host does not issue a reply as shown in issue https://github.com/ssrg-vt/popcorn-kernel/issues/63

The root cause of this should needs to be investigated and patched

bxatnarf commented 5 years ago

pcn_kmsg_done always frees the pointer passed to it as an argument, however we do not always want it to to free its argument -- e.g., in vma_server_munmap_origin where the same msg is reused and sent to every host. Therefore, we probably need a version of pcn_kmsg_done that does not free its argument or some way of signaling to it that it shouldn't free its argument (i.e., argument is NULL)

bxatnarf commented 5 years ago

This issue seems to have resolved itself with https://github.com/ssrg-vt/popcorn-kernel/commit/071f622ec709327f28cae92487bedd833e17bf72