From: David Woodhouse <dwmw2@infradead.org>
To: Alexandr Andreev <andreev@niisi.msk.ru>
Cc: "linux-mtd@lists.infrared.org" <linux-mtd@lists.infradead.org>
Subject: Re: Why timer interrupt is disabled?
Date: Fri, 25 May 2001 17:37:42 +0100 [thread overview]
Message-ID: <1765.990808662@redhat.com> (raw)
In-Reply-To: <3B0EF62E.30207@niisi.msk.ru>
andreev@niisi.msk.ru said:
> Locking of io_request_lock and disabling interrupts, are mading in
> block devices common driver. I read the kernel-api documentation in
> Documentation/DocBook/kernel-api/r10011.html: " A global spin lock
> $io_request_lock must be held while manipulating the requests on the
> request queue."
Ah - but we're _not_ manipulating the requests on the request queue. We're
servicing the request at the head of the queue, which is a special case -
the queueing code knows that drivers are likely to be looking at the
request at the head of the queue even while the io_request_lock is not held.
andreev@niisi.msk.ru said:
> While we are reading or writing data to the flash, the timer interrupt
> is happens. Next, the schedule() called, and an other process begins
> to write or read data to the flash.
The kernel is not preemptively scheduled. Unless the first process
explicitly calls schedule(), it's not going to lose the CPU. Only processes
in user mode are scheduled from the timer IRQ.
--
dwmw2
next prev parent reply other threads:[~2001-05-25 16:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-25 13:04 Why timer interrupt is disabled? andreev
2001-05-25 13:12 ` David Woodhouse
[not found] ` <3B0EE338.1000701@niisi.msk.ru>
2001-05-25 15:17 ` David Woodhouse
2001-05-26 0:17 ` Alexandr Andreev
2001-05-25 16:37 ` David Woodhouse [this message]
2001-05-25 17:06 ` Herman Oosthuysen
2001-05-26 1:31 ` Alexandr Andreev
2001-05-25 17:36 ` David Woodhouse
[not found] <3B0EE8CF.7040502@niisi.msk.ru>
[not found] ` <20010526000119.A23273@suse.de>
2001-05-28 19:07 ` Alexandr Andreev
2001-05-28 15:36 ` David Woodhouse
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=1765.990808662@redhat.com \
--to=dwmw2@infradead.org \
--cc=andreev@niisi.msk.ru \
--cc=linux-mtd@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox