All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Wilcox <matthew@wil.cx>
To: kernel-janitors@vger.kernel.org
Subject: Re: mixing interupts and threads.
Date: Mon, 07 Jul 2008 10:19:09 +0000	[thread overview]
Message-ID: <20080707101908.GX14894@parisc-linux.org> (raw)
In-Reply-To: <48719C96.6010503@gmail.com>

On Mon, Jul 07, 2008 at 10:03:26AM +0530, ravikumar wrote:
> 1. Lets suppose i've some critical section and it is synchronized with 
> locks. A thread came and  it's  execution  is in the middle of critical 
> section, at this time an interrupt was occurred which  also executes 
> critical section. As interrupts can't wait on any lock it will get lock 
> and try to execute the critical section and above thread was not yet 
> completed. So inconsistency . How this was handled in Linux.

I recommend you read the excellent
Documentation/DocBook/kernel-locking.tmpl.  If you run 'make pdfdocs',
you can read it as a pdf (other output formats also available).

The short answer to your question is that interrupts should be disabled
while the thread is holding the spinlock.

> 2.Some process is running in kernel mode, at this a kill was sent to 
> this process, does this signal will delivered to the process while it is 
> in kernel mode.

Yes.  If you examine the implementation of, say,
mutex_lock_interruptible(), you'll see how it checks to see whether
signals are pending.  Other functions ending in _interruptible() will
likely do similar checks.

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

      parent reply	other threads:[~2008-07-07 10:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-07  4:45 mixing interupts and threads ravikumar
2008-07-07  4:56 ` Scott Lovenberg
2008-07-07 10:19 ` Matthew Wilcox [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080707101908.GX14894@parisc-linux.org \
    --to=matthew@wil.cx \
    --cc=kernel-janitors@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.