In current ESCA, it is only available in single-thread application. It is time to extend ESCA to support multi-thread applications. The expected implementation would be similar with SAIO. Following is proposed changes:
init_esca should allocate a table and pin to a proper physical page by customized system call. (refer to init_worker in SAIO)
sys_register should take responsible for the task mentioned in step 1. Also, kernel need to maintain a global table which contain all the allocated table from user processes. (refer to sys_esca_register in SAIO)
The table indexing of sys_batch should be changed.
To verify the correctness, a unit test program is also needed. The proposed testing program would like (simplified):
In current ESCA, it is only available in single-thread application. It is time to extend ESCA to support multi-thread applications. The expected implementation would be similar with SAIO. Following is proposed changes:
init_esca
should allocate a table and pin to a proper physical page by customized system call. (refer to init_worker in SAIO)To verify the correctness, a unit test program is also needed. The proposed testing program would like (simplified):