Re: How to understand the macro __init?

2012-09-03 Thread Jim Cromie
On Thu, Aug 16, 2012 at 12:39 PM, Amarnath Revanna
amarnath.reva...@gmail.com wrote:
 Just want to add a little more for better understanding:

 When I spoke about .init section of the final kernel image, please note that
 this section is going to
 contain all the __init data (and functions) coming from _All_ the drivers
 and modules that were included
 as part of the kernel image. Hence, after initialization when we look at the
 print:

  [1.011596] Freeing unused kernel memory: 664k freed 

 we see 664k bytes being freed.

 This is a significant amount of contiguous physical memory that we can see
 being released by the kernel.

 The same cannot be held true for a single loadable module which may be
 releasing just a few, virtually
 contiguous memory.

FWIW, theres no reason that the loadable module's __init section must
be in the same allocation as the module code itself.

The lifetime is certainly different, so pre-fragmenting it could
leave fewer holes overall.
I dont know if this is actually done (this way), but it seems
reasonably likely, given that the per-module sections exist.

$ readelf -a 
/lib/modules/3.6.0-rc3-cha-dyndbg-8-g6e433ac/kernel/drivers/usb/serial/pl2303.ko
| grep init
  [ 4] .init.textPROGBITS 00197c 19 00  AX  0   0  1
  [ 5] .rel.init.textREL  02a58c 20 08 44   4  4
1754  b702 R_386_PC32   __init_waitqueue_head
Relocation section '.rel.init.text' at offset 0x2a58c contains 4 entries:
...



 Regards,
 -Amar



___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Kernelnewbies Digest, Vol 22, Issue 1

2012-09-03 Thread kishore kumar
hello everybody,

I am new to kernel programming.
Can anyone tell me how to start it.

kishore kumar

On Sun, Sep 2, 2012 at 9:30 PM, kernelnewbies-requ...@kernelnewbies.orgwrote:

 Send Kernelnewbies mailing list submissions to
 kernelnewbies@kernelnewbies.org

 To subscribe or unsubscribe via the World Wide Web, visit
 http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
 or, via email, send a message with subject or body 'help' to
 kernelnewbies-requ...@kernelnewbies.org

 You can reach the person managing the list at
 kernelnewbies-ow...@kernelnewbies.org

 When replying, please edit your Subject line so it is more specific
 than Re: Contents of Kernelnewbies digest...


 Today's Topics:

1. Re: map bss to addr zero (Ritesh Harjani)
2. Re: map bss to addr zero (Mulyadi Santosa)
3. Re: Kernel booting problem. (Jim Cromie)


 --

 Message: 1
 Date: Sun, 2 Sep 2012 00:53:17 +0530
 From: Ritesh Harjani ritesh.harj...@gmail.com
 Subject: Re: map bss to addr zero
 To: Srinivas Ramanan srinivas.rama...@gmail.com,
 mulyadi.sant...@gmail.com
 Cc: kernelnewbies@kernelnewbies.org
 Message-ID:
 
 cad15agbm8jo+-kmrrbydpd0nrn3k_bcpeqi9p8w721c8_9p...@mail.gmail.com
 Content-Type: text/plain; charset=iso-8859-1

 On Mon, Aug 27, 2012 at 2:01 AM, Srinivas Ramanan 
 srinivas.rama...@gmail.com wrote:

  Hi all,
  This is an interview question.
  What is the implication of mapping BSS to the Virtual Memory Segment 0?
 
   I was not able to find the answer from web. So posting here.
  thanks,
  srinivas
 
  ___
  Kernelnewbies mailing list
  Kernelnewbies@kernelnewbies.org
  http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
 


 Hi,

 The bss section typically includes all uninitialized variables declared
 with the static keyword.
 The zero page which  is a copy-on-write page that reads as zero is used to
 map the BSS segment. Any process referencing the zero page sees the page
 filled with zeos and if it tries to writes to the page, it ends up
 modifying a private copy. (LDD ch15. page 429)

 Mulyadi,

 Why it will generate a page fault later when process will tries to
 reference it, while it already has mapped with the zero page?


 Sorry if i am wrong anywhere.
 Ritesh
 -- next part --
 An HTML attachment was scrubbed...
 URL:
 http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120902/b18f7568/attachment-0001.html

 --

 Message: 2
 Date: Sun, 2 Sep 2012 12:46:29 +0700
 From: Mulyadi Santosa mulyadi.sant...@gmail.com
 Subject: Re: map bss to addr zero
 To: Ritesh Harjani ritesh.harj...@gmail.com
 Cc: Srinivas Ramanan srinivas.rama...@gmail.com,
 kernelnewbies@kernelnewbies.org
 Message-ID:
 CAGdaadYXCTYad0aRKME1eyQ-rt1gh=vN=
 siyz2htqzonpcb...@mail.gmail.com
 Content-Type: text/plain; charset=ISO-8859-1

 Hi... :)

 On Sun, Sep 2, 2012 at 2:23 AM, Ritesh Harjani ritesh.harj...@gmail.com
 wrote:
  Mulyadi,
 
  Why it will generate a page fault later when process will tries to
 reference
  it, while it already has mapped with the zero page?
 
 

 Hopefully I interpret it correctly that this question is for me :)

 Sorry, maybe I am not clear, by reference, I meant updating  or
 writing new value.

 Since this zero page is mapped as read only, when writing to this zero
 page, page fault is triggered. Then page fault handler conclude that
 this is actually a write toward zero page from valid address, so it
 will allocate page(s).


 --
 regards,

 Mulyadi Santosa
 Freelance Linux trainer and consultant

 blog: the-hydra.blogspot.com
 training: mulyaditraining.blogspot.com



 --

 Message: 3
 Date: Sun, 2 Sep 2012 04:23:02 -0600
 From: Jim Cromie jim.cro...@gmail.com
 Subject: Re: Kernel booting problem.
 To: Sri Ram Vemulpali sri.ram.gm...@gmail.com
 Cc: Mulyadi Santosa mulyadi.sant...@gmail.com, Jonathan Neusch?fer
 j.neuschae...@gmx.net,kernelnewbies@kernelnewbies.org
 Message-ID:
 CAJfuBxytc+u1W99QKA7HCR_Su1NRx=
 1qhn5mdltkt_dygpl...@mail.gmail.com
 Content-Type: text/plain; charset=ISO-8859-1

 On Wed, Aug 29, 2012 at 10:06 PM, Sri Ram Vemulpali
 sri.ram.gm...@gmail.com wrote:
  Thanks for the replies again.
 
  This time the problem is in tty specification.
  Kernel supports console=tty0 (virtual terminal), where as my inittab has
  entry ::sysinit:/sbin/getty -L ttyS0 vt100. I have to change the ttyS0
 to tty0.
 
  Once I changed this, I got login prompt.
 
  But I do not understand how we tell kernel to use ttyS0 over tty0.
  Because in kernel config I selected was ttyS0 but it is using tty0.

 try console on boot-line

 root@voyage:~# more /proc/cmdline
 root=LABEL=ROOT_FS  console=ttyS0,115200n8  rootdelay=120 reboot=bios
 loglevel=8
  dynamic_debug.verbose=1

  Weird?
 
  Thanks,
  Sri.
 

Re: Kernelnewbies Digest, Vol 22, Issue 1

2012-09-03 Thread Mulyadi Santosa
On Mon, Sep 3, 2012 at 2:45 PM, kishore kumar kishoreo...@gmail.com wrote:
 hello everybody,

 I am new to kernel programming.
 Can anyone tell me how to start it.

have you read the following page?
http://kernelnewbies.org/FAQ/WhereDoIBegin

Also, please kindly use bottom post. And please strip out the unneeded
part of the message when you reply.

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Difference between kernel 3.0.15 and kernel 3.4

2012-09-03 Thread Arun KS
Hello Ritesh,

On Fri, Aug 31, 2012 at 4:39 PM, Ritesh Harjani ritesh.harj...@gmail.comwrote:

 Hey
 just an update, kernel 3.0.15 of Android-ICS and 3.4 of Android-JB.

 Sorry if i am wrong anywhere.. I am new to this :).


Here you go,

http://kernelnewbies.org/Linux_3.4

Thanks,
Arun



 Thank you
 Ritesh


 On Fri, Aug 31, 2012 at 4:33 PM, Ritesh Harjani 
 ritesh.harj...@gmail.comwrote:

 Where i can find all the differences between the kernel version 3.0.15
 and 3.4.

 Ritesh



 ___
 Kernelnewbies mailing list
 Kernelnewbies@kernelnewbies.org
 http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Query regarding some blk_queue_XXX functions. (For kernel 2.6.32 SLES 11)

2012-09-03 Thread Pranay Kumar Srivastava
Hi All,

I'm using SLES11 (kernel 2.6.32)


I recently did a dummy code for block device driver where the whole disk is 
made of pages in memory. I have some query regarding usage of some of the 
functions,

I've absolutely no idea what the first 2 do. What I was trying to do was that I 
wanted the block layer to give my driver requests which are aligned according 
to my device's minimum sector size. Since I wanted to play with the driver I 
chose 1024 bytes instead of 512, however I've tried with 2048 bytes device 
sector size as well and all seems well :D

Now the problem is kernel wants to give everything in 512 byte but I want to 
receive everything aligned properly according to my device's sector size. So I 
looked in kernel code and I thought I could use the functions below...

1. blk_limits_io_min: 
No clue about this one, in-fact the device didn't got added when I used this.


2. blk_queue_physical_block_size:
This one checks the logical block size before it sets physical block size 
itself. But not really sure about it's purpose

3. blk_queue_logical_block_size:
I think this is the one responsible that I get requests properly aligned to 
device's sector size? Not really sure...


4. set_capacity:
There's also a callback in block_device_operations by this name? However this 
function just sets the size of part0 of the gendisk. I've not seen the callback 
being called upon, I used some print statements and I never see them. So what's 
the purpose of the callback?

Lastly:
There's a field gd-start in gendisk which apparently sets the start of data 
sector? But why would block layer be bothered with that? Is this used by 
filesystems since application programs certainly can write to sector 0 as well 
right?


And a couple more :P ,

When I try to use fdisk on the disk, it seems to create partition table (I 
think), however when it tries to read the partition table again I get invalid 
argument to ioctl. So I think I'm missing an ioctl call in my driver correct? 
I've none yet though. 

However this issue aside, if I'm able to create a partition then my driver 
should be able to handle additional disks correct? And it would follow the same 
operations when I added my module and called add_disk the first time correct? 

Thanks a lot for reading!




Regards,
Pranay Kr. Srivastava
pranay.shrivast...@hcl.com
Software Engineer
ERS,HCL Technologies
A-5, Sector 24, Noida 201301, U.P. (India)



::DISCLAIMER::


The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only.
E-mail transmission is not guaranteed to be secure or error-free as information 
could be intercepted, corrupted,
lost, destroyed, arrive late or incomplete, or may contain viruses in 
transmission. The e mail and its contents
(with or without referred errors) shall therefore not attach any liability on 
the originator or HCL or its affiliates.
Views or opinions, if any, presented in this email are solely those of the 
author and may not necessarily reflect the
views or opinions of HCL or its affiliates. Any form of reproduction, 
dissemination, copying, disclosure, modification,
distribution and / or publication of this message without the prior written 
consent of authorized representative of
HCL is strictly prohibited. If you have received this email in error please 
delete it and notify the sender immediately.
Before opening any email and/or attachments, please check them for viruses and 
other defects.




___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Is it possible to use a local drive to cache an NFS share

2012-09-03 Thread Graeme Russ
Hi All,

I am mounting /home over NFS which is great, but it really kills compile
times. So I have a local HDD which I have copied all my source code over
from which I do my coding and compiling.

What I would love to do is use the local drive to cache /home. Specifically
one user directory under /home - only one machine will ever be modifying
the contents of this directory.

Or should I just use rsync?

On a side note - I moved my source code from a 1TB HDD on a 3Gb/s SATA port
to an Intel 510 series 250GB SSD on a 6Gb/s SATA port. But I didn't see an
appreciable increase in compile speed.

Regards,

Graeme

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


itanium variable sized TLB entries support

2012-09-03 Thread Shentino
Is there a way for the kernel to take advantage of a flexible TLB
entry coverage size, as in itanium, or is the pgd/pud/pmd/pte
abstraction pretty much hard coded?

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Is it possible to use a local drive to cache an NFS share

2012-09-03 Thread Mulyadi Santosa
Hi :)

On Mon, Sep 3, 2012 at 8:00 PM, Graeme Russ graeme.r...@gmail.com wrote:
 Hi All,

 I am mounting /home over NFS which is great, but it really kills compile
 times. So I have a local HDD which I have copied all my source code over
 from which I do my coding and compiling.

 What I would love to do is use the local drive to cache /home. Specifically
 one user directory under /home - only one machine will ever be modifying
 the contents of this directory.

I suggest to use ccache, if your focus is only about compiling.

Then configure ccache to use your local drive as the directory to
store the cache objects.

IMHO, that should be doable :)



-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Is it possible to use a local drive to cache an NFS share

2012-09-03 Thread michi1
Hi!

On 23:00 Mon 03 Sep , Graeme Russ wrote:
 Hi All,
 
 I am mounting /home over NFS which is great, but it really kills compile
 times. So I have a local HDD which I have copied all my source code over
 from which I do my coding and compiling.
 
 What I would love to do is use the local drive to cache /home. Specifically
 one user directory under /home - only one machine will ever be modifying
 the contents of this directory.

NFS is not really made for caching. Its design idea was mainly that the server
should be stateless. There is basically no way to get a notification whether a
file was changed remotely without either polling or running an external
daemon. There are 2 network file systems which support client caching: codafs
and andrewfs. However, they are rather complex to setup and I guess nobody is
really using them.

If nobody else changes the files you should be fine. But I still would not
recommend doing this, because this is basically a time bomb which might go off
after you forget what you are doing now. Also there should not be that much
performance difference for your worklead unless either your network or your
nas is very slow.

After a quick search I have found this project (not sure what it does exactly):
http://sourceforge.net/apps/mediawiki/fuse/index.php?title=FileSystems#mcachefs

 Or should I just use rsync?

How do you want to sync it back?

 On a side note - I moved my source code from a 1TB HDD on a 3Gb/s SATA port
 to an Intel 510 series 250GB SSD on a 6Gb/s SATA port. But I didn't see an
 appreciable increase in compile speed.

This does not suprise me. Compiling mostly stresses the cpu(s).

-Michi
-- 
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.twilightparadox.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Is it possible to use a local drive to cache an NFS share

2012-09-03 Thread Rajat Sharma
Hi,

NFS client support FSCache support which is default in recent kernels
CONFIG_NFS_FSCACHE=y, But as I remember, it is a read cache (not even
write-through), so a compile load generates lots of new files, so
those won't really be benefited by FSCache.

But as you are pointing out, your setup is a single user access, so
probably you can relax some of the NFS consistency options, e.g. async
mount is really suitable for your case, also you can increase actimeo
values. Compiler writes will hit-page cache and with asynchronous
writebacks, it is way more faster than SSDs :).

-Rajat

On Mon, Sep 3, 2012 at 6:30 PM, Graeme Russ graeme.r...@gmail.com wrote:
 Hi All,

 I am mounting /home over NFS which is great, but it really kills compile
 times. So I have a local HDD which I have copied all my source code over
 from which I do my coding and compiling.

 What I would love to do is use the local drive to cache /home. Specifically
 one user directory under /home - only one machine will ever be modifying
 the contents of this directory.

 Or should I just use rsync?

 On a side note - I moved my source code from a 1TB HDD on a 3Gb/s SATA port
 to an Intel 510 series 250GB SSD on a 6Gb/s SATA port. But I didn't see an
 appreciable increase in compile speed.

 Regards,

 Graeme

 ___
 Kernelnewbies mailing list
 Kernelnewbies@kernelnewbies.org
 http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Is it possible to use a local drive to cache an NFS share

2012-09-03 Thread michi1
Hi!

On 22:27 Mon 03 Sep , Mulyadi Santosa wrote:
 Hi :)
 
 On Mon, Sep 3, 2012 at 8:00 PM, Graeme Russ graeme.r...@gmail.com wrote:
  Hi All,
 
  I am mounting /home over NFS which is great, but it really kills compile
  times. So I have a local HDD which I have copied all my source code over
  from which I do my coding and compiling.
 
  What I would love to do is use the local drive to cache /home. Specifically
  one user directory under /home - only one machine will ever be modifying
  the contents of this directory.
 
 I suggest to use ccache, if your focus is only about compiling.
 
 Then configure ccache to use your local drive as the directory to
 store the cache objects.

ccache caches the compilation result, but it still needs to reads the source
code files and write the object files...

-Michi
-- 
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.twilightparadox.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies