#include #include #include "MPLib.h" spinlock lock = 1; int i = 0; int main() { printf("cpu %d\n", getcpu()); barrier(); printf("cpu %d before critical section\n", getcpu()); barrier(); down(&lock); printf("cpu %d, entering critical section\n", getcpu()); printf("cpu %d, i = %d\n", getcpu(), i++); printf("cpu %d, exiting critical section\n", getcpu()); up(&lock); barrier(); printf("cpu %d after critical section\n", getcpu()); }