* 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.