What subsystem!?

Valdis.Kletnieks at vt.edu Valdis.Kletnieks at vt.edu
Tue Oct 25 11:42:33 EDT 2016


On Tue, 25 Oct 2016 10:33:47 -0200, "Daniel." said:
> I've been studying linux for some time now. I still see my self as an
> begginer, but that's not a bad thing. I struggling to decide what
> subsystem to focus right know.

I've said it before, and I'll say it again:

If you have to ask others which part of the kernel you should study,
maybe you shouldn't be doing kernel work.  It's like a beginning
author asking other people if they should write a mystery or a western.
If you're only writing a murder mystery because somebody suggested it,
it's probably not going to be very good.

Note that for most systems all the *real* magic (and hard work) aren't in
the kernel, they're in userspace.

Let's look at the Internet of Things as an example.  Yes, networking is
going to be important - but the kernel just gives userspace (for instance)
TCP over IPv6.  All the code to actually *do* something with it is out in
userspace.

Just the other day, a large part of the Internet fell apart because of
a DDoS attack on some important DNS servers.  The root cause?  Default
passwords and other userspace security issues on a lot of DVRs and
security cameras.  A userspace issue.

I'm looking at buying some LED-based light bulbs that can change color on
command.   Kernel support for the networking?  Get a packet, send a packet.
All the code that says "during early evening, use a 5K color temperature,
and slowly roll it back to 3.2K around midnight, but an hour later in the
kitchen"?  Userspace.

You mention database tuning.  Another case where you *really* need to
understand what userspace is doing before you can do much in the kernel.
Linux kernel hacking for tuning our Oracle servers?  Zip.  Zero. None.
We just create yet another VM with X amount of RAM and Y amount of
disk on a fiberchannel-connected EMC VNX storage unit.  However, our
DBAs spend a *lot* of time tweaking Oracle parameters in userspace, and
my co-worker who administers that storage keeps busy tuning it - but
he has a nice userspace GUI that handles all the hard work so he can
concentrate on higher-level issues like proper tiering of a high-activity
disk.

My current job is building petabyte-scale file systems for HPC clusters -
and although I end up tweaking kernel parameters a fair amount, there's
actually not much kernel hacking involved.  What *is* needed is the ability
to talk to the computational scientists, and find out things like what
blocksize their software wants to use, whether it's sequential or random
access, what degree of parallelism is needed, and so on...

You hopefully notice a pattern here... Find an application that *you* think
is interesting - and first learn the userspace end of it.  You may not need
to know very much about the kernel at all - and if you *do*, you'll have
a better idea of which part of the kernel and what you need to know....
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 484 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161025/1b45188f/attachment.bin 


More information about the Kernelnewbies mailing list