ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@mivlgu.murom.ru>
To: mandrake-russian@altlinux.ru
Subject: Re: [mdk-re] Multiple Ethernet interfaces
Date: Tue Apr 10 17:52:33 2001
Message-ID: <20010410135151.D4EAA8341C@mail.mivlgu.murom.ru> (raw)
In-Reply-To: <3AD2CD36.C2CF7E94@zmail.ru>

On Tue, 10 Apr 2001 13:07:02 +0400
cornet <cornet@zmail.ru> wrote:

> Я не слишком понимаю, как два девайса работая одновременно и
> независимо
> могут разделять одно прерывание! :-/
> Поясните, pls.

У шины PCI это стандартная возможность. В ядре Linux реализуется
следующим образом: для каждого IRQ формируется цепочка обработчиков, и
при поступлении прерывания все они вызываются по очереди. Каждый из
обработчиков опрашивает свое устройство, и если запрос пришел от него,
обслуживает. Поскольку запрос выставляется по уровню, а не по фронту,
как на ISA, если даже в процессе такой обработки придет еще один
запрос по тому же IRQ, он не пропадет - после возврата из прерывания
сразу произойдет новое.

Есть, правда, фокус: дело в том, что обработчиков два типа - обычный
(работает при разрешенных других прерываниях) и SA_INTERRUPT (при его
выполнении все прерывания запрещены). Так вот, на одном IRQ могут
висеть только обработчики одного типа. Из-за этого сетевые и звуковые
карты не могут жить на одном прерывании, например, со SCSI (или HPT3xx
IDE). Решение проблемы в случае материнской платы с HPT3xx -
переставить карточку в другой слот (наблюдал такую проблему на Abit
BX133 RAID, у нее в книжечке расписано, какой слот с чем делит
прерывание, надо только почитать :-).

ISA - другое дело, там разделяемые прерывания не работают в принципе -
просто аппаратно не предусмотрено.



  reply	other threads:[~2001-04-10 17:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-10 12:46 ` Dmitry Nechaev
2001-04-10 13:07   ` cornet
2001-04-10 17:52     ` Sergey Vlasov [this message]
2001-04-10 18:00       ` Igor Solovyov
2001-04-10 18:20       ` Alexander Bokovoy
2001-04-10 18:34         ` Sergey Vlasov
2001-04-10 18:41           ` Alexander Bokovoy
2001-04-10 18:55             ` Sergey Vlasov
2001-04-10 18:22       ` cornet

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=20010410135151.D4EAA8341C@mail.mivlgu.murom.ru \
    --to=vsu@mivlgu.murom.ru \
    --cc=mandrake-russian@altlinux.ru \
    /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

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git