Re: Reader/writer semaphores

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Bhanu,
 
Let me put it into simple words.

If you want to protect a write operation such as "a++" where "a" is global variable of your program/module (i.e. it is manipulated by your code only) then please use write semaphore. You will play safe.
 
Otherwise if "a" is a variable inside kernel and kernel exports this variable to be manipulated by other modules then usually kernel provides a lock as well for sync purpose and thus one should try to acquire that particular lock as suitable (read or write) and then manipulate it. You will play safe again.
 
Hope it clears your doubts.
Let me know if you still need mre clarification.
 
Cheers!
- A
On Mon, Apr 7, 2008 at 9:36 PM, bhanu nani <bhanu.lnxnew@xxxxxxxxx> wrote:
Hi All,

debein,
I believe what you said. It was a misleading statement.

Did someone have a last chance top review my understanding and post
back the clarifications. this would very usefull for my future
understanding about the kernel.
Please let me know am I on the right track, if not please let me know
where am I missing.

Regards,
Mukund

On 4/5/08, debian developer <debiandev@xxxxxxxxx> wrote:
> On Wed, Apr 2, 2008 at 11:52 PM, bhanu nani <bhanu.lnxnew@xxxxxxxxx> wrote:
> > Hi Fabio,
> >
> >  My understanding: Semaphore are the tools to protect a region of code
> >  by bloking access to other threads access while the first thead is
>
> An important point to note here is that you are not protecting the
> code, its the data structure
> or variable you are protecting.
>
> >   global x;
> >   up
> >      /* critical section - any thing*/
> >      *fpos+=count;
> >      mystruct->size = *fpos;
> >      mystruct->xxx = *fpos+ count;
> >   down
> >
>


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux