wait_event_timeout
可用于使线程休眠指定时间或直到某些条件变为真。
我面临这种情况是共享变量的情况。
ret = wait_event_timeout(SLEEP_Q,shared_vaible == 1,TIME_TO_SLEEP);
在调用它之前,我必须放弃spinlock
用于访问共享变量的。
所以我的问题是,由于共享变量是在不使用锁的情况下读取的,因此正确性是否会受到影响?
内核是否确保wait_event
接口中的此类条件没有竞争条件?
wait_event_timeout
可用于使线程休眠指定时间或直到某些条件变为真。
我面临这种情况是共享变量的情况。
ret = wait_event_timeout(SLEEP_Q,shared_vaible == 1,TIME_TO_SLEEP);
在调用它之前,我必须放弃spinlock
用于访问共享变量的。
所以我的问题是,由于共享变量是在不使用锁的情况下读取的,因此正确性是否会受到影响?
内核是否确保wait_event
接口中的此类条件没有竞争条件?