All of lore.kernel.org
 help / color / mirror / Atom feed
* What subsystem!?
@ 2016-10-25 12:33 Daniel.
  2016-10-25 15:42 ` Valdis.Kletnieks at vt.edu
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel. @ 2016-10-25 12:33 UTC (permalink / raw)
  To: kernelnewbies

Hi everybody,

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 have three options and would like to
know what people think about, since listening (or reading) other
people aways help me to decide. My options are:

i. Memory
ii. Network
iii. Filesystems / Disk cache

Today I'm working on embedded market and have a crush on ARM
architecture. I have absolute no knowledge on (i), some fundations (in
userspace) on (ii) and nothing but mkfs experience on (iii). LoL.

The second question is: What are the (market) applications of these
expertise? I know that (ii) will be huge part ot IoT and IIoT. And the
(iii) can be used on database tunning for example. (i) seem just
f******* cool to me.

When I say (market) please, do not get me wrong. The jobs on kernel
are not popping out (especially on Brazil) like the Java & Big Data
ones, I still have to eat, but I'm not willing to move from my
passions(kernel-dev) for money.


Thanks in advance and regards to everybody!
-- 
"Do or do not. There is no try"
  Yoda Master

^ permalink raw reply	[flat|nested] 3+ messages in thread

* What subsystem!?
  2016-10-25 12:33 What subsystem!? Daniel.
@ 2016-10-25 15:42 ` Valdis.Kletnieks at vt.edu
  2016-10-25 18:03   ` Daniel.
  0 siblings, 1 reply; 3+ messages in thread
From: Valdis.Kletnieks at vt.edu @ 2016-10-25 15:42 UTC (permalink / raw)
  To: kernelnewbies

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 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* What subsystem!?
  2016-10-25 15:42 ` Valdis.Kletnieks at vt.edu
@ 2016-10-25 18:03   ` Daniel.
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel. @ 2016-10-25 18:03 UTC (permalink / raw)
  To: kernelnewbies

Vladis,

Thank you so much for your anwer. I had never thought that way, and
make totally sense. Challenge accepted, I'll look for interesting
applications and see how they interact with kernel. Thank you so
much!!!

Best regards!!!

2016-10-25 13:42 GMT-02:00  <Valdis.Kletnieks@vt.edu>:
> 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....



-- 
"Do or do not. There is no try"
  Yoda Master

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-10-25 18:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-25 12:33 What subsystem!? Daniel.
2016-10-25 15:42 ` Valdis.Kletnieks at vt.edu
2016-10-25 18:03   ` Daniel.

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.