Re: About interrupt handler

2012-02-26 Thread Kosta Zertsekel
On Fri, Feb 24, 2012 at 11:18 PM, Dave Hylands dhyla...@gmail.com wrote:
 HI Kosta,

 On Fri, Feb 24, 2012 at 1:08 PM, Dave Hylands dhyla...@gmail.com wrote:
 Hi Kosta,

 On Fri, Feb 24, 2012 at 1:19 AM, Kosta Zertsekel zertse...@gmail.com wrote:
 I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind 
 that
 all interrupt handler has interrupted other code(possibly even another
 interrupt handler on a different line).What i am not able to understand 
 is
 how a interrupt handler be interrupted ? DID NOT it uninterrupted?

 It depends on the architecture and the interrupt controller being
 used, and the driver code itself.

 Normally, when an interrupt fires, that particular interrupt will be
 masked and your own handler won't interrupt itself, but you may very
 well be interrupted by other interrupts.

 Can you please point out some code for explanation?

 Could you be a bit more specific about what example you're looking for?

 I also believe that things have changed (since I looked at this in any
 detail). It seems that interrupts are now run with other interrupts
 disabled.
 See: http://lwn.net/Articles/364583/ and look at the IRQF_DISABLED discussion.

Oh, yes, it seems it does as of kernel 3.3.0. But I fail to accept the
argument...
What happens for NAPI drivers stalling the kernel - *nobody* can
interrupt them...
Is there some reliable IRQ deep dive explanation - I need one just to
wrap my mind over the issue?
Thanks,
--- KostaZ

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


Re: About interrupt handler

2012-02-26 Thread Dave Hylands
Hi Kosta,

On Sun, Feb 26, 2012 at 4:11 AM, Kosta Zertsekel zertse...@gmail.com wrote:
 On Fri, Feb 24, 2012 at 11:18 PM, Dave Hylands dhyla...@gmail.com wrote:
 HI Kosta,

 On Fri, Feb 24, 2012 at 1:08 PM, Dave Hylands dhyla...@gmail.com wrote:
 Hi Kosta,

 On Fri, Feb 24, 2012 at 1:19 AM, Kosta Zertsekel zertse...@gmail.com 
 wrote:
 I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind 
 that
 all interrupt handler has interrupted other code(possibly even another
 interrupt handler on a different line).What i am not able to understand 
 is
 how a interrupt handler be interrupted ? DID NOT it uninterrupted?

 It depends on the architecture and the interrupt controller being
 used, and the driver code itself.

 Normally, when an interrupt fires, that particular interrupt will be
 masked and your own handler won't interrupt itself, but you may very
 well be interrupted by other interrupts.

 Can you please point out some code for explanation?

 Could you be a bit more specific about what example you're looking for?

 I also believe that things have changed (since I looked at this in any
 detail). It seems that interrupts are now run with other interrupts
 disabled.
 See: http://lwn.net/Articles/364583/ and look at the IRQF_DISABLED 
 discussion.

 Oh, yes, it seems it does as of kernel 3.3.0. But I fail to accept the
 argument...
 What happens for NAPI drivers stalling the kernel - *nobody* can
 interrupt them...
 Is there some reliable IRQ deep dive explanation - I need one just to
 wrap my mind over the issue?

Well the kernel has the ability to use threaded irqs. This allows IRQs
to be given a proirity so you can allow one interrupt to interrupt
another or to even allow threads to interrupt interrupts.

http://lwn.net/Articles/302043/
http://www.artist-embedded.org/docs/Events/2009/OSPERT/OSPERT09-Henriques.pdf
http://elinux.org/images/e/ef/InterruptThreads-Slides_Anderson.pdf

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

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


Re: About interrupt handler

2012-02-24 Thread Kosta Zertsekel
 I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind that
 all interrupt handler has interrupted other code(possibly even another
 interrupt handler on a different line).What i am not able to understand is
 how a interrupt handler be interrupted ? DID NOT it uninterrupted?

 It depends on the architecture and the interrupt controller being
 used, and the driver code itself.

 Normally, when an interrupt fires, that particular interrupt will be
 masked and your own handler won't interrupt itself, but you may very
 well be interrupted by other interrupts.

Can you please point out some code for explanation?
--- KostaZ

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


Re: About interrupt handler

2012-02-24 Thread Dave Hylands
Hi Kosta,

On Fri, Feb 24, 2012 at 1:19 AM, Kosta Zertsekel zertse...@gmail.com wrote:
 I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind that
 all interrupt handler has interrupted other code(possibly even another
 interrupt handler on a different line).What i am not able to understand is
 how a interrupt handler be interrupted ? DID NOT it uninterrupted?

 It depends on the architecture and the interrupt controller being
 used, and the driver code itself.

 Normally, when an interrupt fires, that particular interrupt will be
 masked and your own handler won't interrupt itself, but you may very
 well be interrupted by other interrupts.

 Can you please point out some code for explanation?

Could you be a bit more specific about what example you're looking for?

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

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


Re: About interrupt handler

2012-02-24 Thread Dave Hylands
HI Kosta,

On Fri, Feb 24, 2012 at 1:08 PM, Dave Hylands dhyla...@gmail.com wrote:
 Hi Kosta,

 On Fri, Feb 24, 2012 at 1:19 AM, Kosta Zertsekel zertse...@gmail.com wrote:
 I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind that
 all interrupt handler has interrupted other code(possibly even another
 interrupt handler on a different line).What i am not able to understand is
 how a interrupt handler be interrupted ? DID NOT it uninterrupted?

 It depends on the architecture and the interrupt controller being
 used, and the driver code itself.

 Normally, when an interrupt fires, that particular interrupt will be
 masked and your own handler won't interrupt itself, but you may very
 well be interrupted by other interrupts.

 Can you please point out some code for explanation?

 Could you be a bit more specific about what example you're looking for?

I also believe that things have changed (since I looked at this in any
detail). It seems that interrupts are now run with other interrupts
disabled.
See: http://lwn.net/Articles/364583/ and look at the IRQF_DISABLED discussion.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

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


About interrupt handler

2012-02-23 Thread cheneydeng
hi all,
 I'm begin to learn the Kernel and i'm reading Linux kernel 
development.It says This is an important point, always keep in mind that all 
interrupt handler has interrupted other code(possibly even another interrupt 
handler on a different line).What i am not able to understand is how a 
interrupt handler be interrupted ? DID NOT it uninterrupted?


--
best regards!
  cheneydeng___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: About interrupt handler

2012-02-23 Thread Zhengwang Ruan



 Original Message 
From: cheneydeng
Sent: 2012年02月22日 星期三 23时38分37秒
To: kernelnewbies
Subject: About interrupt handler
 hi all,
 I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind
 that all interrupt handler has interrupted other code(possibly even
 another interrupt handler on a different line).What i am not able to
 understand is how a interrupt handler be interrupted ? DID NOT it
 uninterrupted?

It has more related to CPU architecture. Generally, while an interrupt
handler is being executed, the handler itself can chose to disable or
enable external interrupts (i.e, take x86 for example, IF bit for cflags
reg controls this.). If IF is enabled, then the interrupt handler
currently being executed may be interrupted and then jump to the entry
for the coming interrupt.

Thanks,
-Zhengwang



 --
 best regards!
 cheneydeng


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

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


Re: About interrupt handler

2012-02-23 Thread cheneydeng
Thanks to all of you~


--
best regards!
  cheneydeng
 

 
 
 
-- Original --
From:  Zhengwang Ruanruan.zhengw...@gmail.com;
Date:  Thu, Feb 23, 2012 06:07 PM
To:  kernelnewbieskernelnewbies@kernelnewbies.org; 

Subject:  Re: About interrupt handler

 
   
   
   
    Original Message 
   From: cheneydeng
   Sent: 2012年02月22日 星期三 23时38分37秒
   To: kernelnewbies
   Subject: About interrupt handler
  hi all,
  I'm begin to learn the Kernel and i'm reading   Linux 
kernel development.It says This is an   important point, always keep 
in mind that all interrupt   handler has interrupted other 
code(possibly even another   interrupt handler on a different 
line).What i am not able to   understand is how a interrupt handler be 
interrupted ? DID NOT   it uninterrupted?
   
  
 It has more related to CPU architecture. Generally, while an interrupt 
handler is being executed, the handler itself can chose to disable or 
enable external interrupts (i.e, take x86 for example, IF bit for cflags 
reg controls this.). If IF is enabled, then the interrupt handler currently 
being executed may be interrupted and then jump to the entry for the coming 
interrupt.
 
 Thanks,
 -Zhengwang
 
 
 
 
  --
best regards!
 cheneydeng
 
   
  
   
___ Kernelnewbies mailing 
list Kernelnewbies@kernelnewbies.org 
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


About interrupt handler

2012-02-22 Thread cheneydeng
hi all,
 I'm begin to learn the Kernel and i'm reading Linux kernel 
development.It says This is an important point, always keep in mind that all 
interrupt handler has interrupted other code(possibly even another interrupt 
handler on a different line).What i am not able to understand is how a 
interrupt handler be interrupted ? DID NOT it uninterrupted?


--
best regards!
  cheneydeng___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: About interrupt handler

2012-02-22 Thread Dave Hylands
Hi cheneydeng,

2012/2/22 cheneydeng cheneyd...@qq.com:
 hi all,
      I'm begin to learn the Kernel and i'm reading Linux kernel
 development.It says This is an important point, always keep in mind that
 all interrupt handler has interrupted other code(possibly even another
 interrupt handler on a different line).What i am not able to understand is
 how a interrupt handler be interrupted ? DID NOT it uninterrupted?

It depends on the architecture and the interrupt controller being
used, and the driver code itself.

Normally, when an interrupt fires, that particular interrupt will be
masked and your own handler won't interrupt itself, but you may very
well be interrupted by other interrupts.

It is possible to arrange things so that your interrupt handler
interrupts itself, although you need to be really careful when doing
this as if your interrupt fires too quickly things can escalate out of
control pretty quickly.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

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