On Fri, 2014-01-17 at 13:12 +0900, Chanho Park wrote:
> Our(RD-PQ) kernel is top of the v3.10 kernel. However, many features
> are taken from the latest linus's tree if we need it. Sometimes, we
> need changed ABI. 

I do not know what are the new features you are talking about. But if
you are back-porting a driver which has ioctl's which user-land uses,
then yes, definitely you have to update kernel-headers. But if is a
driver which is under a framework which has standard interface, you do
not need to update kernel-headers. For example, if you back-port a
networking driver, you usually do not need to change the
'kernel-headers' package.

Then, "sometimes, we need changed ABI" sounds strange. We need to
clarify the terminology.

>From what I read from Jacek' previous e-mails, he called the internal
kernel interfaces "kernel ABI". Well, for a kernel module you can
consider this to be an ABI, but generally, when kernel folks talk about
the Kernel ABI they mean a different thing. They mean the
kernel<->userland ABI. This includes ioctls, sysfs files, netlink APIs,
etc. This ABI is carved in stone. It is stable.

What Jacek discussed earlier is a different thing. That is unstable and
changes all the time. In the kernel community people do not call that
"kernel ABI". I recommend to find a different term for that. E.g.,
"kernel module API/ABI" would be better. Anyway, this "ABI" is volatile.

The other thing I would like to highlight, just to make sure we are on
the same page, is kernel-headers vs kernel-devel.

kernel-headers contains .h files for _userland_. These .h files are
produced by the 'make headers_install' command, and they are stripped.
E.g., all the sections withing '#ifdef __KERNEL__' are removed. These
headers _cant_ be used for building external modules.

kernel-devel is a package which provides header files to be used for
building external modules. These are rarely needed, only people who
compile kernel modules need them, and there are usually not many of
those people. The header must not be included from user-land apps.

So, kernel-headers is something which does not need to be changed often.
Kernel-devel should usually be updated every time the kernel changes.

With the above in mind, can you please clarify the meaning of
"sometimes, we need changed ABI" - is this about the kernel ABI or about
the "module ABI" ?

-- 
Best Regards,
Artem Bityutskiy

_______________________________________________
Dev mailing list
[email protected]
https://lists.tizen.org/listinfo/dev

Reply via email to