Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1309970 > unrolled thread

Understanding IO architecture

Started byMahmood Naderan <mahmood.nt@gmail.com>
First post2016-01-15 10:10 +0100
Last post2016-01-15 17:40 +0100
Articles 6 — 3 participants

Back to article view | Back to linux.kernel


Contents

  Understanding IO architecture Mahmood Naderan <mahmood.nt@gmail.com> - 2016-01-15 10:10 +0100
    Re: Understanding IO architecture Daniel Baluta <daniel.baluta@gmail.com> - 2016-01-15 11:10 +0100
    Re: Understanding IO architecture Jeff Merkey <linux.mdb@gmail.com> - 2016-01-15 17:40 +0100
      Re: Understanding IO architecture Jeff Merkey <linux.mdb@gmail.com> - 2016-01-15 17:50 +0100
        Re: Understanding IO architecture Mahmood Naderan <mahmood.nt@gmail.com> - 2016-01-15 22:40 +0100
    Re: Understanding IO architecture Jeff Merkey <linux.mdb@gmail.com> - 2016-01-15 17:40 +0100

#1309970 — Understanding IO architecture

FromMahmood Naderan <mahmood.nt@gmail.com>
Date2016-01-15 10:10 +0100
SubjectUnderstanding IO architecture
Message-ID<qR8yl-3Yi-1@gated-at.bofh.it>
What is the good starting point to understand linux kernel? I know you
are going to say Understanding the Linux Kernel, but that is for 2005!
and kernel 2.6.

We know that currently, the latest version is 4.4 and the version
number updates quickly. So, where can I find the core of IO
architecture, page cache, block layer and ... for the most stable
architecture and not the version number?


Regards,
Mahmood

[toc] | [next] | [standalone]


#1310011

FromDaniel Baluta <daniel.baluta@gmail.com>
Date2016-01-15 11:10 +0100
Message-ID<qR9ur-4CR-27@gated-at.bofh.it>
In reply to#1309970
On Fri, Jan 15, 2016 at 11:00 AM, Mahmood Naderan <mahmood.nt@gmail.com> wrote:
> What is the good starting point to understand linux kernel? I know you
> are going to say Understanding the Linux Kernel, but that is for 2005!
> and kernel 2.6.
>
> We know that currently, the latest version is 4.4 and the version
> number updates quickly. So, where can I find the core of IO
> architecture, page cache, block layer and ... for the most stable
> architecture and not the version number?

The best book you might find is Professional Linux Kernel architecture [1]
Other than that, read the source code!

thanks,
Daniel.

[1] http://www.amazon.com/Professional-Kernel-Architecture-Wolfgang-Mauerer/dp/0470343435

[toc] | [prev] | [next] | [standalone]


#1310258

FromJeff Merkey <linux.mdb@gmail.com>
Date2016-01-15 17:40 +0100
Message-ID<qRfzP-gk-7@gated-at.bofh.it>
In reply to#1309970
On 1/15/16, Jeff Merkey <linux.mdb@gmail.com> wrote:
> On 1/15/16, Mahmood Naderan <mahmood.nt@gmail.com> wrote:
>> What is the good starting point to understand linux kernel? I know you
>> are going to say Understanding the Linux Kernel, but that is for 2005!
>> and kernel 2.6.
>>
>> We know that currently, the latest version is 4.4 and the version
>> number updates quickly. So, where can I find the core of IO
>> architecture, page cache, block layer and ... for the most stable
>> architecture and not the version number?
>>
>>
>> Regards,
>> Mahmood
>>
>
> Man, it's huge and linux has evolved into a giant jump table these
> days.  I started programming on it in the 2.2 days and it was fairly
> sophisticated them.  You could start
> with reviewing what's in the /kernel directory.  For I/O study the bio
> architecture.  FOr block layer start in drivers/block.
>
> Your best bet is to clone it, get yourself a good kernel debugger to
> step through code and explore how things work.
>
> start by cloning it so you have your own copy.  Download and install
> git then clone Linus' tree.
>
> git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>
> Then you can also get the linux-stable tree which has all the stable
> versions of Linux
>
> git clone
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
>
> if you need a good kernel debugger, try this one
>
> http://jeffmerkey.github.io

thats http://jeffmerkey.github.io/linux



>
> Jeff
>

[toc] | [prev] | [next] | [standalone]


#1310271

FromJeff Merkey <linux.mdb@gmail.com>
Date2016-01-15 17:50 +0100
Message-ID<qRfJx-lq-13@gated-at.bofh.it>
In reply to#1310258
On 1/15/16, Jeff Merkey <linux.mdb@gmail.com> wrote:
> On 1/15/16, Jeff Merkey <linux.mdb@gmail.com> wrote:
>> On 1/15/16, Mahmood Naderan <mahmood.nt@gmail.com> wrote:
>>> What is the good starting point to understand linux kernel? I know you
>>> are going to say Understanding the Linux Kernel, but that is for 2005!
>>> and kernel 2.6.
>>>
>>> We know that currently, the latest version is 4.4 and the version
>>> number updates quickly. So, where can I find the core of IO
>>> architecture, page cache, block layer and ... for the most stable
>>> architecture and not the version number?
>>>
>>>
>>> Regards,
>>> Mahmood
>>>
>>
>> Man, it's huge and linux has evolved into a giant jump table these
>> days.  I started programming on it in the 2.2 days and it was fairly
>> sophisticated them.  You could start
>> with reviewing what's in the /kernel directory.  For I/O study the bio
>> architecture.  FOr block layer start in drivers/block.
>>
>> Your best bet is to clone it, get yourself a good kernel debugger to
>> step through code and explore how things work.
>>
>> start by cloning it so you have your own copy.  Download and install
>> git then clone Linus' tree.
>>
>> git clone
>> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>
>> Then you can also get the linux-stable tree which has all the stable
>> versions of Linux
>>
>> git clone
>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
>>
>> if you need a good kernel debugger, try this one
>>
>> http://jeffmerkey.github.io
>
> thats http://jeffmerkey.github.io/linux
>
>
>
>>
>> Jeff
>>
>

If you have questions post them here.  They may get lost in the noise
but if I'm around I'll try to help you.  I know linux fairly well, but
it changes a lot and I do know the areas you asked about and can help
you.

Have fun. Don't get put off by folks seeming to ignore you, people are
just very busy and most of them totally immersed in fixing their own
areas but there are a few of us who will respond to you.

Jeff

[toc] | [prev] | [next] | [standalone]


#1310476

FromMahmood Naderan <mahmood.nt@gmail.com>
Date2016-01-15 22:40 +0100
Message-ID<qRkga-3k6-5@gated-at.bofh.it>
In reply to#1310271
>if you need a good kernel debugger, try this one
> http://jeffmerkey.github.io/linux
>If you have questions post them here.  They may get lost in the noise
>but if I'm around I'll try to help you.  I know linux fairly well, but
>it changes a lot and I do know the areas you asked about and can help
>you.

OK thank you very much. I read the Oreily's book but I thought some
of the functions may have changed in recent versions. So, instead of
greping to see what is what, I asked the question to become sure.

Thanks again.

Regards,
Mahmood

[toc] | [prev] | [next] | [standalone]


#1310264

FromJeff Merkey <linux.mdb@gmail.com>
Date2016-01-15 17:40 +0100
Message-ID<qRfzQ-gk-9@gated-at.bofh.it>
In reply to#1309970
On 1/15/16, Mahmood Naderan <mahmood.nt@gmail.com> wrote:
> What is the good starting point to understand linux kernel? I know you
> are going to say Understanding the Linux Kernel, but that is for 2005!
> and kernel 2.6.
>
> We know that currently, the latest version is 4.4 and the version
> number updates quickly. So, where can I find the core of IO
> architecture, page cache, block layer and ... for the most stable
> architecture and not the version number?
>
>
> Regards,
> Mahmood
>

Man, it's huge and linux has evolved into a giant jump table these
days.  I started programming on it in the 2.2 days and it was fairly
sophisticated them.  You could start
with reviewing what's in the /kernel directory.  For I/O study the bio
architecture.  FOr block layer start in drivers/block.

Your best bet is to clone it, get yourself a good kernel debugger to
step through code and explore how things work.

start by cloning it so you have your own copy.  Download and install
git then clone Linus' tree.

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Then you can also get the linux-stable tree which has all the stable
versions of Linux

git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

if you need a good kernel debugger, try this one

http://jeffmerkey.github.io

Jeff

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web