* Linux distribution versions @ 2002-04-30 10:53 Rabeeh Khoury 2002-04-30 13:50 ` Matti Aarnio 0 siblings, 1 reply; 4+ messages in thread From: Rabeeh Khoury @ 2002-04-30 10:53 UTC (permalink / raw) To: linux-scsi Hi List, A Linux-SCSI newbie question - If I have developed a working SCSI driver, and rapidly tested it under a certain distribution (say RedHat 7.2), will it work with other distributions (say Mandrake 8.0 ) ? What is the distinguisher between SCSI subsystems (and maybe other parts in the kernel) that prevents or makes it possible to a certain SCSI driver to work ? Thank you, Rabeeh -- This message may contain confidential, proprietary or legally privileged information. The information is intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by telephone, or by e-mail and delete the message from your computer. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux distribution versions 2002-04-30 10:53 Linux distribution versions Rabeeh Khoury @ 2002-04-30 13:50 ` Matti Aarnio 2002-04-30 15:31 ` Rabeeh Khoury 0 siblings, 1 reply; 4+ messages in thread From: Matti Aarnio @ 2002-04-30 13:50 UTC (permalink / raw) To: Rabeeh Khoury; +Cc: linux-scsi, rgooch On Tue, Apr 30, 2002 at 01:53:48PM +0300, Rabeeh Khoury wrote: > Hi List, > > A Linux-SCSI newbie question - The tone of the question is giving an impression of "I want to publish binary-only driver".. maybe it is just my ears, nevertheless... I suggest Linux-Kernel Mailing List FAQ items: http://www.tux.org/lkml/#s8-7 http://www.tux.org/lkml/#s10-12 There is no item fully covering this particular topic, thus I will Cc: the FAQ maintainer, who could adapt this text into a topic of its own... > If I have developed a working SCSI driver, and rapidly tested it under a > certain distribution (say RedHat 7.2), will it work with other > distributions (say Mandrake 8.0 ) ? There are minor detail changes in between each kernel version (even in stable series, see LKML-faq), and depending on what configuration options are used (basically SMP or not), certain things like spinlocks may or may not reserve space in structures, and may or may not need to be called (are even optimized away in non-SMP systems), meaning that binary compiled for SMP MIGHT NOT work at non-SMP kernel. (And vice versa.) Also different vendors tend to inject different things into their kernel patch-sets, which again may subtly change data layouts, etc. In stable kernel series great pains are suffered at maintenance so that data layouts of in-kernel APIs (and API calls themselves) are not changed. Nevertheless something may change making binary drivers to fail in mysterious ways. Subtle memory things may appear with i386-PAE mode (large memory machines which can't map all of RAM into the kernel at the same time.) > What is the distinguisher between SCSI subsystems (and maybe other parts > in the kernel) that prevents or makes it possible to a certain SCSI > driver to work ? The problems that are encountered are most likely very general, e.g. things said above will match. > Thank you, > Rabeeh Aiming to publish BINARY driver modules is (in general) a support nightmare. Publishing the driver is source (see LKML FAQ items about compile and linking) will make the driver publication a lot more simpler. Supplying obfuscated(*) lowlevel driver code with clean upper layers will give change to fix problems, like spinlocks, memory management call goofups etc. ( (*) Obfuscation meaning "write this decimal value at that register, no explanatory comments" -- NOT "here is .o file with some compiled i386 object code" ) Others than the driver author might not know what exactly is wrong in low-level, but things at more general levels may even get ported onwards, when kernel introduces new APIs for e.g. memory management at i386-PAE mode, etc. .. and the driver works as is at a system with little-endian processors. /Matti Aarnio ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux distribution versions 2002-04-30 13:50 ` Matti Aarnio @ 2002-04-30 15:31 ` Rabeeh Khoury 2002-04-30 16:59 ` Matti Aarnio 0 siblings, 1 reply; 4+ messages in thread From: Rabeeh Khoury @ 2002-04-30 15:31 UTC (permalink / raw) To: Matti Aarnio; +Cc: linux-scsi, rgooch Hi, Thank you for the detailed response. Matti Aarnio wrote > The tone of the question is giving an impression of "I want to publish > binary-only driver".. maybe it is just my ears, nevertheless... > > > Well, it's just your ears :) The reason for the question is that testing a driver under so much distributions is not a simple task. Think of the following distributions - RedHat 6.x / 7.x , Caldera , Mandrake , SuSe and lots others ; and add to that testing under i386 / ppc / mips / sparc etc .... Regards, Rabeeh ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux distribution versions 2002-04-30 15:31 ` Rabeeh Khoury @ 2002-04-30 16:59 ` Matti Aarnio 0 siblings, 0 replies; 4+ messages in thread From: Matti Aarnio @ 2002-04-30 16:59 UTC (permalink / raw) To: Rabeeh Khoury; +Cc: Matti Aarnio, linux-scsi On Tue, Apr 30, 2002 at 06:31:52PM +0300, Rabeeh Khoury wrote: > Hi, > > Thank you for the detailed response. > Matti Aarnio wrote > > The tone of the question is giving an impression of "I want to publish > > binary-only driver".. maybe it is just my ears, nevertheless... > > > Well, it's just your ears :) > > The reason for the question is that testing a driver under so much > distributions is not a simple task. > > Think of the following distributions - RedHat 6.x / 7.x , Caldera , > Mandrake , SuSe and lots others ; and add to that testing > under i386 / ppc / mips / sparc etc .... No need to go quite that widely, I think. The configuration set for i386 is: SMP on/off PAE on/off That is, four versions. Use the "new error handler" API, and the driver should work at 2.2 and at 2.5 series kernels too. (Aside of current 2.4, that is.) Other processors don't come in this many system architecture flavours. Essentially getting the four versions of i386, and one big-endian (e.g. UltraSPARC) to work will most likely produce working driver at all systems, and handle 64 bit ones as well. It isn't quite the same as being tested at all systems, but after those five the surprises are very unlikely. > Regards, > Rabeeh /Matti Aarnio ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-04-30 16:59 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-04-30 10:53 Linux distribution versions Rabeeh Khoury 2002-04-30 13:50 ` Matti Aarnio 2002-04-30 15:31 ` Rabeeh Khoury 2002-04-30 16:59 ` Matti Aarnio
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.