리눅스 커널 RCU 에 대해 질문입니다.
글쓴이: trymp / 작성시간: 금, 2016/09/09 - 9:10오후
RCU 에 대해서 공부하고 있는데요.
제가 알고 있는 lock 메카니즘은 해당 자료구조를 보호하기 위해 존재하잖아요.
그래서 아래와 같이
read_lock(&st->lock);
이런식으로 st 구조체를 보호하기 위해 전용 락변수를 두잖아요.
그러면 RCU 의 경우에는 rcu_read_lock() 할때 어떤 변수에 대한 참조카운트를 증가시키는지
어떻게 알죠..
rcu_read_lock();
aobj = rcu_dereference(AA);
rcu_read_unlock();
다른 모듈에서
rcu_read_lock();
bobj = rcu_dereference(BB);
rcu_read_unlock();
위와 같이 BB 에 대한 참조 카운트가 0가 된것인지 AA에 대한 참조 카운트가 0가 된것인지
어떻게 판별하죠??
제가 RCU 에 대해 이해 안가는 부분이 있어서 고수님들께 질문드립니다.
답변주시면 감사하겠습니다.
Forums:
댓글 달기