Re: [PATCH 4/4] misc: hpilo: Update driver version
From: Jerry Hoemann
Date: Mon Feb 25 2019 - 03:28:13 EST
On Fri, Feb 22, 2019 at 07:49:28AM +0100, Greg KH wrote:
> On Thu, Feb 21, 2019 at 09:11:11PM -0700, Jerry Hoemann wrote:
>
> > Our primary means of supporting Linux to our customers is via our
> > distro partners. While we prefer to use in distro drivers, HPE does
> > from time to time deliver driver updates via the "Service Pack for
> > Proliants" -- The SPP.
>
> That's fine, but again, does not matter to the in-kernel driver at all.
Your point? No one claimed that changing the version number
of the module changes its functionality. We're changing the driver
version number to reflect that the driver's functionality changed.
We do this to help determine the version running on a system
in the event we have problems. It's a support issue.
> I understand that in your viewpoint, your driver's version means
> something. But in reality, it's only the kernel's version that means
> something because your driver is just part of the overall kernel, it
> does not stand alone.
I never claimed a driver stood alone. jeezz.
When you say kernel "version", are you trying to say that the version
string printed by the kernel determines the source of the drivers?
(I ask, because I have heard other maintainers make this claim.)
The kernel version string only reliably determines the base kernel build.
Modules can be unloaded and replaced by totally new versions drastically
different from the version that existed at the time of the base kernel build.
The delivery of drivers updates independent of base kernel was old
practice when I started Unix development 30 years ago. It was not unique
to HPE then or now. I don't see it stopping.
So while Linux delivers drivers built to a baseline kernel build, we
cannot rely that the bits being used on a system still reflect that initial
install. We can't just assume a driver version. And without knowing
the driver version, it makes support more difficult.
If you're trying to be profound, the "version" of the OS running is
more than just the base kernel. That is only the beginning.
We then have to consider the modules loaded and the order that they're
loaded. This sequence is unbounded as modules can be repeatedly loaded
and unloaded. When you know that, then you know the "version" of the kernel
running.
But that isn't what the kernel version string gives you. So why have it/print it?
By your reasoning it's meaningless. It should be tossed. We have it because
it gives us info, but it is only a start.
-----------------------------------------------------------------------------
Jerry Hoemann Software Engineer Hewlett Packard Enterprise
-----------------------------------------------------------------------------