From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Sergey Vlasov To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] Multiple Ethernet interfaces In-Reply-To: <3AD2CD36.C2CF7E94@zmail.ru> References: <20010409123001.738D0F02@linux.ru.net> <7493.010410@fd.cbx.ru> <3AD2CD36.C2CF7E94@zmail.ru> X-Mailer: Sylpheed version 0.4.63 (GTK+ 1.2.9; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Message-Id: <20010410135151.D4EAA8341C@mail.mivlgu.murom.ru> Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Mandrake/RE discussion list List-Unsubscribe: , List-Archive: Date: Tue Apr 10 17:52:33 2001 X-Original-Date: Tue, 10 Apr 2001 17:51:51 +0400 Archived-At: List-Archive: List-Post: On Tue, 10 Apr 2001 13:07:02 +0400 cornet wrote: > Я не слишком понимаю, как два девайса работая одновременно и > независимо > могут разделять одно прерывание! :-/ > Поясните, pls. У шины PCI это стандартная возможность. В ядре Linux реализуется следующим образом: для каждого IRQ формируется цепочка обработчиков, и при поступлении прерывания все они вызываются по очереди. Каждый из обработчиков опрашивает свое устройство, и если запрос пришел от него, обслуживает. Поскольку запрос выставляется по уровню, а не по фронту, как на ISA, если даже в процессе такой обработки придет еще один запрос по тому же IRQ, он не пропадет - после возврата из прерывания сразу произойдет новое. Есть, правда, фокус: дело в том, что обработчиков два типа - обычный (работает при разрешенных других прерываниях) и SA_INTERRUPT (при его выполнении все прерывания запрещены). Так вот, на одном IRQ могут висеть только обработчики одного типа. Из-за этого сетевые и звуковые карты не могут жить на одном прерывании, например, со SCSI (или HPT3xx IDE). Решение проблемы в случае материнской платы с HPT3xx - переставить карточку в другой слот (наблюдал такую проблему на Abit BX133 RAID, у нее в книжечке расписано, какой слот с чем делит прерывание, надо только почитать :-). ISA - другое дело, там разделяемые прерывания не работают в принципе - просто аппаратно не предусмотрено.