counting semaphore question
Chan Kim
ckim at etri.re.kr
Mon Feb 15 03:56:37 EST 2016
Hi,
I'm not a proper person to reply to this question but at least I know what it is for.
see below (from http://www.makelinux.net/books/lkd2/ch09lev1sec4)
Alternatively, the count can be initialized to a nonzero value greater than one. In this case, the semaphore is called a counting semaphore, and it allows at most count holders of the lock at a time. Counting semaphores are not used to enforce mutual exclusion because they allow multiple threads of execution in the critical region at once. Instead, they are used to enforce limits in certain code. They are not used much in the kernel. If you use a semaphore, you almost assuredly want to use a mutex (a semaphore with a count of one).
I don't know in what circumstances the number of resource holders should be limitted. Maybe for a subsystem handling synchronization itself but the number of users should be limited? Hope to hear from somebody with good examples.
regards,
Chan
보낸 사람 : "Shiva Shankar" <klshiva4a4 at gmail.com>
보낸 날짜 : 2016-02-15 15:47:57 ( +09:00 )
받는 사람 : kernelnewbies <kernelnewbies at kernelnewbies.org>
참조 :
제목 : counting semaphore question
Hi all,
Can you anyone tell me what is the exact use of counting semaphore in kernel ?
When should we use it ? what is the practical usage of counting semaphores in
Linux kernel ?
I have seen only mutex (Binary semaphore)is used for synchronization not the counting semaphore(count >1).
Any sugguestions would be appreciated
Thanks in advance.
More information about the Kernelnewbies
mailing list