Re: local_irq_save vs raw_local_irq_save

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

 



Thanks Anish.

As for  local_irq_save  and raw_local_irq_save, it seems
local_irq_save - called at many different places while raw_local_irq_save is called in fewer places.

                             local_irq_save - does not disable Hardware interrupts.
    Whereas,raw_local_irq_save - does DISABLE hardware interrupts.

As per code, raw_local_irq_save is related with timer interrupts.
Please provide your insights on this.

Also, in local_irq_save - how exactly disabling interrupts is achieved ( in spite of " NOT DISABLING " hardware interrupts) ?





On Thu, Jul 4, 2013 at 2:45 PM, anish singh <anish198519851985@xxxxxxxxx> wrote:
On Thu, Jul 4, 2013 at 1:55 PM, Raj Ravi <mekaviraj@xxxxxxxxx> wrote:
> Hi,
>
> Please let me know the difference between
> local_irq_save  and raw_local_irq_save ?

did you check who calls this raw_local_irq_save?
similarly who calls local_irq_save?
finding out these will answer your questions
> At which situation one should use raw_local_irq_save?
>
>
> Also, I read "flags"  is where interrupt state is saved while disabling
> interrupts in local cpu (for local_irq_save).
>
> What EXACTLY this  flags contains?  What do you mean by interrupt state
> here?

interrupt state meaning: which all interrupts are enabled or disabled at this
instant.If a particular interrupt was enabled at that instant then we don't
do any thing with our locking mechanism which causes it be be disabled.
What we are doing with those flags is nothing but maintaining the state.
>
> Thanks!
> Kavi
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[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