Re: How to understand the macro __init?
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
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
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
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)
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
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
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
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
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
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
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