bigsys-gnu / mvcc-os

KhronOS, a scalable operating systems based on sv6 (MIT) with MV-RLU (multi-version concurrency control mechanism)
Other
1 stars 0 forks source link

umalloc is not TH_SAFE so add mutex #9

Closed MadPlayer closed 3 years ago

MadPlayer commented 3 years ago

umalloc은 기존에 있던 xv6 코드이고 확인해본 결과 thread safe가 아니라서 mutex lock으로 malloc, free를 추가적으로 동기화 했습니다.

bigsys-gnu commented 3 years ago

malloc( )에 대해 lock을 추가한거죠? malloc 연산에 대해 lock이 필요할까요?

MadPlayer commented 3 years ago

malloc( )에 대해 lock을 추가한거죠? malloc 연산에 대해 lock이 필요할까요?

umalloc 이 기존에 xv6에 있던 코드이고 멀티 쓰레드가 지원되지 않기에 혹시나해서 umalloc.c를 확인했더니 전역변수를 사용하고 있었습니다. 그래서 mutex를 추가했습니다.

bigsys-gnu commented 3 years ago

kalloc은 lock이 있는데 umalloc은 없네요.