<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1057442733519404176</id><updated>2012-02-14T00:12:10.726+05:30</updated><category term='debug'/><category term='IRQs'/><category term='processors'/><category term='kernel compilation'/><category term='Networking Stack'/><category term='ipsec'/><category term='kernel threads'/><category term='sctp'/><category term='Interrupts'/><category term='kmalloc kfree'/><category term='security'/><category term='syslog'/><category term='waitqueue'/><category term='kernel memory'/><category term='signals'/><category term='device driver'/><category term='locks'/><category term='pci'/><category term='pcap'/><category term='linked list'/><category term='volatile'/><category term='sk_buff'/><category term='gcc'/><category term='mtu'/><category term='semaphore'/><category term='pipes'/><category term='ipv6'/><category term='Networking Stack tcp'/><category term='snort'/><category term='utilities'/><title type='text'>let me start</title><subtitle type='html'>OpenSource</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-6173543875674606182</id><published>2008-09-08T13:06:00.000+05:30</published><updated>2008-09-08T13:08:00.123+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack tcp'/><title type='text'>Good Networking Q and A.</title><summary type='text'>*   Q: What should happen upon receipt of a RST packet containing data?    * A: The host should accept it. It was suggested that a RST could contain ASCII text explaining the error, but no standard was ever established.    * Credit: Kris Katterjohn     * Q: What is the longest acceptable delay for an ACK?    * A: 0.5 seconds.    * Credit: Kris Katterjohn     * Q: An ICMP error message must </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/6173543875674606182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=6173543875674606182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6173543875674606182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6173543875674606182'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/09/good-networking-q-and.html' title='Good Networking Q and A.'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-388906059473607866</id><published>2008-05-05T18:56:00.001+05:30</published><updated>2008-05-05T18:58:49.614+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='snort'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack tcp'/><title type='text'>Snort  Few Q&amp;A by Richard Bejtlich</title><summary type='text'>In this edition of the Snort Report, I address some of the questions frequently asked by service providers who are users or potential users of Snort. I say "potential users" because some people hear about Snort and wonder if it can solve a particular problem. Here I hope to provide realistic expectations for service providers using Snort.1. Can I use Snort to protect a network from </summary><link rel='related' href='http://searchsecuritychannel.techtarget.com/tip/0,289483,sid97_gci1288505,00.html' title='Snort  Few Q&amp;A by Richard Bejtlich'/><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/388906059473607866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=388906059473607866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/388906059473607866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/388906059473607866'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/05/snort-few-q-by-richard-bejtlich.html' title='Snort  Few Q&amp;A by Richard Bejtlich'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-5854723730446851464</id><published>2008-05-05T18:47:00.002+05:30</published><updated>2008-05-05T18:50:21.468+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='snort'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack tcp'/><title type='text'>TCP SYNCOOKIES - SYN FLOOD</title><summary type='text'>Mail service for Panix, an ISP in New York, was shut down by a SYN flood starting on 6 September 1996. A week later the story was covered by the RISKS Digest, the Wall Street Journal, the Washington Post, and many other newspapers.SYN flooding had been considered by security experts before. It was generally considered insoluble. See, for example, ``Practical UNIX and Internet Security,'' by </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/5854723730446851464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=5854723730446851464' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/5854723730446851464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/5854723730446851464'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/05/tcp-syncookies-syn-flood.html' title='TCP SYNCOOKIES - SYN FLOOD'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-5642808619257017074</id><published>2008-05-02T12:36:00.003+05:30</published><updated>2008-05-02T12:39:46.854+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack tcp'/><title type='text'>TCP State Transition Diagram</title><summary type='text'></summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/5642808619257017074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=5642808619257017074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/5642808619257017074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/5642808619257017074'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/05/tcp-state-transition-diagram.html' title='TCP State Transition Diagram'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UFzkHzIDWww/SBq-L_lCijI/AAAAAAAAAJI/Hi_mOKDzt5M/s72-c/tcp-state-diagram.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-1277866303514641064</id><published>2008-04-30T17:01:00.005+05:30</published><updated>2008-04-30T17:26:15.257+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='snort'/><title type='text'>Snort -Performance Monitor Preprocessor</title><summary type='text'>This preprocessor measures Snort’s real-time and theoretical maximum performance. Whenever this preprocessor isturned on, it should have an output mode enabled, either “console” which prints statistics to the console window or“file” with a file name, where statistics get printed to the specified file name. By default, Snort’s real-time statisticsare processed. This includes:• Time Stamp• Drop </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/1277866303514641064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=1277866303514641064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1277866303514641064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1277866303514641064'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/04/snort-performance-monitor-preprocessor.html' title='Snort -Performance Monitor Preprocessor'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7693030133615434115</id><published>2008-04-22T18:28:00.003+05:30</published><updated>2008-04-22T18:36:12.985+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack'/><category scheme='http://www.blogger.com/atom/ns#' term='pcap'/><title type='text'>PCAP - API for Packet Capturing</title><summary type='text'>Getting Started: The format of a pcap applicationThe first thing to understand is the general layout of a pcap sniffer. The flow of code is as follows:   1. We begin by determining which interface we want to sniff on. In Linux this may be something like eth0, in BSD it may be xl1, etc. We can either define this device in a string, or we can ask pcap to provide us with the name of an interface </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7693030133615434115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7693030133615434115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7693030133615434115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7693030133615434115'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/04/pcap.html' title='PCAP - API for Packet Capturing'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7208989146239167517</id><published>2008-04-17T14:38:00.000+05:30</published><updated>2008-04-17T14:39:51.871+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='pipes'/><title type='text'>Named pipes</title><summary type='text'>A very useful Linux feature is named pipes which enable different processes to communicate.One of the fundamental features that makes Linux and other Unices useful is the “pipe”. Pipes allow separate processes to communicate without having been designed explicitly to work together. This allows tools quite narrow in their function to be combined in complex ways.A simple example of using a pipe is </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7208989146239167517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7208989146239167517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7208989146239167517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7208989146239167517'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/04/named-pipes.html' title='Named pipes'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-3551016869822731066</id><published>2008-04-17T14:14:00.000+05:30</published><updated>2008-04-17T14:19:36.125+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='signals'/><title type='text'>Linux Signal Handling Model</title><summary type='text'>Signals are used to notify a process or thread of a particular event. Many computer science researchers compare signals with hardware interrupts, which occur when a hardware subsystem, such as a disk I/O (input/output) interface, generates an interrupt to a processor when the I/O completes. This event in turn causes the processor to enter an interrupt handler, so subsequent processing can be done</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/3551016869822731066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=3551016869822731066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3551016869822731066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3551016869822731066'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/04/linux-signal-handling-model.html' title='Linux Signal Handling Model'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-2747871111529489515</id><published>2008-04-15T15:13:00.000+05:30</published><updated>2008-04-15T15:17:53.698+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='signals'/><title type='text'>Basics of unix signals</title><summary type='text'>SIGNALSSignals offer another way to transition between Kernel and User Space. While system calls are synchronous calls originating from User Space, signals are asynchronous messages coming from Kernel space. Signals are always delivered by the Kernel but they can be initiated by:    * other processes on the system (using the kill command/system call)    * the process itself. This includes </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/2747871111529489515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=2747871111529489515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2747871111529489515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2747871111529489515'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/04/basics-of-unix-signals.html' title='Basics of unix signals'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-4357975588320396707</id><published>2008-03-20T19:32:00.000+05:30</published><updated>2008-03-20T19:41:05.109+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='syslog'/><title type='text'>Good Info on syslogd</title><summary type='text'>Sysklogd provides two system utilities which provide support for system logging and kernel message trapping. Support of both internet and unix domain sockets enables this utility package to support both local and remote logging.System logging is provided by a version of syslogd(8) derived from the stock BSD sources. Support for kernel logging is provided by the klogd(8) utility which allows </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/4357975588320396707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=4357975588320396707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4357975588320396707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4357975588320396707'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/03/good-info-on-syslogd.html' title='Good Info on syslogd'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-9208541815868721709</id><published>2008-03-20T19:10:00.000+05:30</published><updated>2008-03-20T19:11:34.302+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='processors'/><title type='text'>Network Service Processors</title><summary type='text'>By combining the functions of a control-plane processor and a network processor, the Octeon processor can take on data traffic at rates of up to 10 Gbits/s. Developed by Cavium Networks, this processor performs content, security, compression/decompression, and TCP/IP offload functions thanks to an architecture that blends as many as 16 MIPS64 64-bit processor cores, two serial-packet-interface </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/9208541815868721709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=9208541815868721709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/9208541815868721709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/9208541815868721709'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/03/network-service-processors.html' title='Network Service Processors'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-284313236406869123</id><published>2008-03-19T18:55:00.000+05:30</published><updated>2008-03-19T19:02:19.354+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='pci'/><title type='text'>How PCI Works (in brief)</title><summary type='text'>The acronym PCI stands for Peripheral Component Interconnect, which aptly describes what it does. PCI was designed to satisfy the requirement for a standard interface for connecting peripherals to a PC, capable of sustaining the high data transfer rates needed by modern graphics controllers, storage media, network interface cards and other devices.Earlier bus designs were all lacking in one </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/284313236406869123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=284313236406869123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/284313236406869123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/284313236406869123'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/03/how-pci-works-in-brief.html' title='How PCI Works (in brief)'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-3160106636950433880</id><published>2008-03-19T16:35:00.001+05:30</published><updated>2008-03-19T16:35:59.784+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='utilities'/><title type='text'>ReadThatWords.com</title><summary type='text'>ReadThatWords.com is an online tool that can instantly convert Web Pages, Office documents and  PDF files into MP3 files.While there are other free tools that can convert text to MP3, ReadThatWords offers two distinct advantages:mp3-voice 1. It can turn almost anything into MP3 including PowerPoint slides, Word Docs, PDF, HTML web pages and even RSS feeds.2. You have an array of different voices </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/3160106636950433880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=3160106636950433880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3160106636950433880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3160106636950433880'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/03/readthatwordscom.html' title='ReadThatWords.com'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-2556069733494441631</id><published>2008-03-19T16:23:00.000+05:30</published><updated>2008-03-19T16:30:32.528+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Secure Your Linux Computer in Network</title><summary type='text'>What you should do to a new Linux PC before connecting it to the Internet. Always keep the software on your computer up to date with the latest security patches should you be running Linux, Windows, BSD or WhoKnowsWhat. Your distribution will release regular security patches that should be applied and are available off the Internet. As with Windows, this should always be your first Internet </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/2556069733494441631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=2556069733494441631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2556069733494441631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2556069733494441631'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/03/secure-your-linux-computer-in-network.html' title='Secure Your Linux Computer in Network'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7797689281368467126</id><published>2008-03-06T17:56:00.000+05:30</published><updated>2008-03-06T17:58:36.692+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><title type='text'>A small Description of GCOV</title><summary type='text'>Gcov is a test coverage program.  Use it in concert with GCC to analyze       your programs to help create more efficient, faster running code and to       discover untested parts of your program.  You can use gcov as a profil-       ing tool to help discover where your optimization efforts will best       affect your code.  You can also use gcov along with the other profiling       tool, gprof, </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7797689281368467126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7797689281368467126' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7797689281368467126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7797689281368467126'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/03/small-description-of-gcov.html' title='A small Description of GCOV'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-4580107092462346386</id><published>2008-02-25T16:01:00.000+05:30</published><updated>2008-02-25T16:02:37.090+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='snort'/><title type='text'>Writing your own Preprocessors</title><summary type='text'>Snort Preprocessors Development KickstartLast updated: November 29th 2005Authors: Andrés Felipe Arboleda Torres, Charles Edward Bedón CortázarWhat is a Snort Preprocessor?Preprocessors are plugable components of Snort, introduced since version 1.5. They're "located" just after the module of protocol analysis and before detection engine and do not depend of rules. They are called whenever a packet</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/4580107092462346386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=4580107092462346386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4580107092462346386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4580107092462346386'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/02/writing-your-own-preprocessors.html' title='Writing your own Preprocessors'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-9174060647122347409</id><published>2008-02-19T18:29:00.000+05:30</published><updated>2008-02-19T18:30:43.551+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='snort'/><title type='text'>Stream5 on Snort ( Good Article by Richard Bejtlich)</title><summary type='text'>It's important for value-added resellers and consultants to understand how Snort detects security events. Stream5 is a critical aspect of the inspection and detection equation. A powerful Snort preprocessor, Stream5 addresses several aspects of network-centric traffic inspection. Sourcefire calls Stream5 a "target-based" system, meaning it can perform differently depending on the directives </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/9174060647122347409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=9174060647122347409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/9174060647122347409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/9174060647122347409'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2008/02/stream5-on-snort-good-article-by.html' title='Stream5 on Snort ( Good Article by Richard Bejtlich)'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7977852746236811793</id><published>2007-09-21T15:09:00.000+05:30</published><updated>2007-09-21T15:13:05.898+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sctp'/><title type='text'>SCTP (New Protocol within TCP/IP)</title><summary type='text'>INTRODUCTIONSCTP is a reliable transport protocol operating over IP. SCTP is more akin to TCP than UDP, however it yields additional features to TCP while still supporting much of the same functionality. So SCTP is connection oriented and implements the same congestion/flow control. Detection of data corruption, loss of data and duplication of data is achieved by using checksums and sequence </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7977852746236811793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7977852746236811793' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7977852746236811793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7977852746236811793'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/09/sctp-new-protocol-within-tcpip.html' title='SCTP (New Protocol within TCP/IP)'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-2811500095639977386</id><published>2007-09-06T15:25:00.000+05:30</published><updated>2007-09-06T15:29:26.091+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><title type='text'>Strict Aliasing</title><summary type='text'>What is strict aliasing?Strict aliasing is an assumption, made by the C (or C++) compiler, that dereferencing pointers to objects of different types will never refer to the same memory location (i.e. alias eachother.)ExamplesPointers to different built in types do not alias:  0int16_t* foo;  1int32_t* bar;The compiler will assume that *foo and *bar never refer to the same location. Pointers to </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/2811500095639977386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=2811500095639977386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2811500095639977386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2811500095639977386'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/09/strict-aliasing.html' title='Strict Aliasing'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7792325017551322960</id><published>2007-08-30T15:41:00.000+05:30</published><updated>2007-08-30T15:55:04.886+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><title type='text'>GCSE</title><summary type='text'>Optimisers:* Global constant and copy propagation.* Global common subexpression elimination.EGCS has two implementations of global common subexpression elimination. The first is based on the classic algorithm found in most compiler texts and is generally referred to as GCSE or classic GCSE.The second implementation is commonly known as partial redundancy elimination (PRE). PRE is a more powerful </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7792325017551322960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7792325017551322960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7792325017551322960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7792325017551322960'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/08/global-constant-and-copy-propagation.html' title='GCSE'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UFzkHzIDWww/RtaYnfn1mhI/AAAAAAAAAHs/L3m_rktGYws/s72-c/gcse.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-325645822637361305</id><published>2007-08-16T16:40:00.000+05:30</published><updated>2007-08-16T16:49:04.413+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sk_buff'/><title type='text'>sk_buff Structure</title><summary type='text'>The sk_buff structure ('skb') is actually only used for storing themetadata corresponding to a packet.  The packet's data is not storedinside the sk_buff structure itself, but in a separate buffer that ispointed to by skb-&gt;head.  The skb-&gt;end member points one byte past theend of this data buffer.An important design requirement for sk_buffs is being able to add dataat the end as well as at the </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/325645822637361305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=325645822637361305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/325645822637361305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/325645822637361305'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/08/skbuff-structure.html' title='sk_buff Structure'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-153314345840020124</id><published>2007-08-16T14:39:00.000+05:30</published><updated>2007-08-16T14:41:55.202+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking Stack'/><title type='text'>Rough Notes on Linux Networking Stack</title><summary type='text'>Table of Contents   1. Existing Optimizations   2. Packet Copies   3. ICMP Ping/Pong : Function Calls   4. Transmit Interrupts and Flow Control   5. NIC driver callbacks and ifconfig   6. Protocol Structures in the Kernel   7. skb_clone() vs. skb_copy()   8. NICs and Descriptor Rings   9. How much networking work does the ksoftirqd do?   10. Packet Requeues in Qdiscs   11. Links   12. Specific </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/153314345840020124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=153314345840020124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/153314345840020124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/153314345840020124'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/08/rough-notes-on-linux-networking-stack.html' title='Rough Notes on Linux Networking Stack'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-2317604260994897581</id><published>2007-08-10T16:19:00.000+05:30</published><updated>2007-08-10T16:20:24.369+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='volatile'/><title type='text'>volatile</title><summary type='text'>The use of volatile is poorly understood by many programmers. This is not surprising, as most C texts dismiss it in a sentence or two.Have you experienced any of the following in your C/C++ embedded code?    * Code that works fine-until you turn optimization on    * Code that works fine-as long as interrupts are disabled    * Flaky hardware drivers    * Tasks that work fine in isolation-yet crash</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/2317604260994897581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=2317604260994897581' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2317604260994897581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2317604260994897581'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/08/volatile.html' title='volatile'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-2213921206780991232</id><published>2007-07-25T15:25:00.000+05:30</published><updated>2007-07-25T15:27:39.601+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel compilation'/><title type='text'>Configuration options on 2.6.x kernels</title><summary type='text'>On the 2.6.x kernels there are four main frontend programs: config, menuconfig, and xconfig.config is the least user-friendly option as it merely presents a series of questions that must be answered sequentially. Alas, if an error is made you must begin the process from the top. Pressing Enter will accept the default entry which is in upper case.oldconfig will read the defaults from an existing .</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/2213921206780991232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=2213921206780991232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2213921206780991232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2213921206780991232'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/07/configuration-options-on-26x-kernels.html' title='Configuration options on 2.6.x kernels'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-6340653738094943910</id><published>2007-07-24T21:21:00.000+05:30</published><updated>2007-07-24T21:25:08.389+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='device driver'/><title type='text'>Dynamic Kernels: Modularized Device Drivers</title><summary type='text'>Although this is very old article, gives u lot of knowledge about the device drivers.Some of the things mentioned here changed by this day. By Alessandro Rubini on Fri, 1996-03-01 02:00. SysAdmin This is the first in a series of four articles co-authored by Alessandro Rubini and Georg Zezchwitz which present a practical approach to writing Linux device drivers as kernel loadable modules. This </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/6340653738094943910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=6340653738094943910' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6340653738094943910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6340653738094943910'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/07/dynamic-kernels-modularized-device.html' title='Dynamic Kernels: Modularized Device Drivers'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-1007812524355407329</id><published>2007-07-21T09:40:00.000+05:30</published><updated>2007-07-21T09:46:54.558+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IRQs'/><title type='text'>Hardware and Software IRQs</title><summary type='text'>Hardware Interrupts (Hard IRQs)Timer ticks, network cards and keyboard are examples of real hardware which produce interrupts at any time. The kernel runs interrupt handlers, which services the hardware. The kernel guarantees that this handler is never re-entered: if another interrupt arrives, it is queued (or dropped). Because it disables interrupts, this handler has to be fast: frequently it </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/1007812524355407329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=1007812524355407329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1007812524355407329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1007812524355407329'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/07/hardware-and-software-irqs.html' title='Hardware and Software IRQs'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-4615388679320218395</id><published>2007-07-11T18:00:00.000+05:30</published><updated>2007-07-11T18:02:27.438+05:30</updated><title type='text'>GCC Optimization</title><summary type='text'>Here's what the O options mean in GCC, why some optimizations aren't optimal after all and how you can make specialized optimization choices for your application.In this article, we explore the optimization levels provided by the GCC compiler toolchain, including the specific optimizations provided in each. We also identify optimizations that require explicit specifications, including some with </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/4615388679320218395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=4615388679320218395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4615388679320218395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4615388679320218395'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/07/gcc-optimization.html' title='GCC Optimization'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-1183327408557277291</id><published>2007-06-12T09:59:00.000+05:30</published><updated>2007-06-12T10:00:41.750+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mtu'/><title type='text'>PMTU DIscovery</title><summary type='text'>Summary    Internet computers, mostly servers, sometimes send packets too large for part of a given path.  Not handling this correctly can make the server unusable for some people.     Correct handling of oversize packets is by one of two means, as chosen by the sending computer (the server):        * Permitting Packet fragmentation - used mostly by older systems        * Path MTU discovery - </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/1183327408557277291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=1183327408557277291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1183327408557277291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1183327408557277291'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/06/pmtu-discovery.html' title='PMTU DIscovery'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-6744334476939916287</id><published>2007-06-06T11:03:00.000+05:30</published><updated>2007-06-06T11:09:36.930+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='waitqueue'/><title type='text'>Wait Queues</title><summary type='text'>When a process requests the kernel to do something which is currently impossible but that may become possible later, the process is put to sleep and is woken up when the request is more likely to be satisfied. One of the kernel mechanisms used for this is called a 'wait queue'.Linux implementation allows wake-on semantics using TASK_EXCLUSIVE flag. With waitqueues, you can either use a well-known</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/6744334476939916287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=6744334476939916287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6744334476939916287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6744334476939916287'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/06/wait-queues.html' title='Wait Queues'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-823493364154605928</id><published>2007-06-05T20:18:00.001+05:30</published><updated>2007-06-05T20:19:02.326+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='semaphore'/><title type='text'>Semaphores and read/write Semaphores</title><summary type='text'>Sometimes, while accessing a shared data structure, one must perform operations that can block, for example copy data to userspace. The locking primitive available for such scenarios under Linux is called a semaphore. There are two types of semaphores: basic and read-write semaphores. Depending on the initial value of the semaphore, they can be used for either mutual exclusion (initial value of 1</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/823493364154605928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=823493364154605928' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/823493364154605928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/823493364154605928'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/06/semaphores-and-readwrite-semaphores.html' title='Semaphores and read/write Semaphores'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-8892374073475383304</id><published>2007-06-04T09:00:00.000+05:30</published><updated>2007-06-04T09:01:43.024+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='locks'/><title type='text'>Spinlocks, Read-write Spinlocks and Big-Reader Spinlocks</title><summary type='text'>Since the early days of Linux support (early 90s, this century), developers were faced with the classical problem of accessing shared data between different types of context (user process vs interrupt) and different instances of the same context from multiple cpus.SMP support was added to Linux 1.3.42 on 15 Nov 1995 (the original patch was made to 1.3.37 in October the same year).If the critical </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/8892374073475383304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=8892374073475383304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/8892374073475383304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/8892374073475383304'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/06/spinlocks-read-write-spinlocks-and-big.html' title='Spinlocks, Read-write Spinlocks and Big-Reader Spinlocks'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7433204120776301770</id><published>2007-05-25T15:43:00.000+05:30</published><updated>2007-05-25T15:44:38.367+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linked list'/><title type='text'>Linux Linked List Implementation</title><summary type='text'>Before we go on to examine implementation of wait queues, we must acquaint ourselves with the Linux standard doubly-linked list implementation. Wait queues (as well as everything else in Linux) make heavy use of them and they are called in jargon "list.h implementation" because the most relevant file is include/linux/list.h.The fundamental data structure here is struct list_head:struct list_head </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7433204120776301770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7433204120776301770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7433204120776301770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7433204120776301770'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/linux-linked-list-implementation.html' title='Linux Linked List Implementation'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-3902140360908071486</id><published>2007-05-16T14:55:00.000+05:30</published><updated>2007-05-16T14:58:27.754+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interrupts'/><title type='text'>Interrupts</title><summary type='text'>Interrupts Exceptions and TrapsNormally, processes are asleep, waiting on some event. When that event happens, these processes are called into action. Remember, it is the responsibility of the sched process to free memory when a process runs short of it. So, it is not until memory is needed that sched starts up.How does sched know that memory is needed? When a process makes reference to a place </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/3902140360908071486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=3902140360908071486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3902140360908071486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3902140360908071486'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/interrupts.html' title='Interrupts'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-6183912205700255058</id><published>2007-05-16T03:00:00.000+05:30</published><updated>2007-05-15T14:29:58.024+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel threads'/><title type='text'>Thread Library changes between 2.4 and 2.6 Linux Kernels</title><summary type='text'>Notes: For most application developers, the majority of the changes made to the Linux kernel between the 2.4 and 2.6 kernel families have little direct impact. Most kernel changes only manifest themselves through increased system performance and capacity. Kernel and system changes that affect how applications spawn and manage other processes and threads are a significant exception to this </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/6183912205700255058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=6183912205700255058' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6183912205700255058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/6183912205700255058'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/thread-library-changes-between-24-and_1763.html' title='Thread Library changes between 2.4 and 2.6 Linux Kernels'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-1110039900298949584</id><published>2007-05-14T17:29:00.001+05:30</published><updated>2007-05-14T17:34:52.366+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel threads'/><title type='text'>Linux kernel threads in Device Drivers</title><summary type='text'>PurposeThis examples shows how to create and stop a kernel thread.The driver is implemented as a loadable module. In the init_module() routine five kernel threads are created. This kernel threads sleep one second, wake up, print a message and fall asleep again. On unload of the module (cleanup_module), the kernel threads are killed.The example has been tested with Linux kernel 2.4.2 on Intel (uni</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/1110039900298949584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=1110039900298949584' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1110039900298949584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/1110039900298949584'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/linux-kernel-threads-in-device-drivers_14.html' title='Linux kernel threads in Device Drivers'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-3158825593562177436</id><published>2007-05-11T14:09:00.002+05:30</published><updated>2007-05-11T14:34:42.460+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='device driver'/><title type='text'>Idea on Writing a device driver in linux</title><summary type='text'>Does the idea of writing a Linux device driver sound difficult? Ifyou have some basic programming experience, the task issimpler than you think. Get started with this quick primer ondevice driver programming.What do I need to know about writing drivers?Basic knowledge of kernel compilation, a good deal of programmingexperience in C under Linux and lastly, the right techniques of datastructures, </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/3158825593562177436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=3158825593562177436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3158825593562177436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3158825593562177436'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/idea-on-writing-device-driver-in-linux.html' title='Idea on Writing a device driver in linux'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-4139021497770033928</id><published>2007-05-09T11:34:00.000+05:30</published><updated>2007-05-09T11:42:08.418+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel memory'/><title type='text'>Allocating Memory in the Kernel</title><summary type='text'>Unfortunately for kernel developers, allocating memory in the kernel is not as simple as allocating memory in user space. A number of factors contribute to the complication, among them:     The kernel is limited to about 1GB of virtual and physical memory.     The kernel's memory is not pageable.     The kernel usually wants physically contiguous memory.     Often, the kernel must allocate the </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/4139021497770033928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=4139021497770033928' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4139021497770033928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4139021497770033928'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/allocating-memory-in-kernel.html' title='Allocating Memory in the Kernel'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-9137975319061690177</id><published>2007-05-08T09:22:00.000+05:30</published><updated>2007-05-08T09:26:18.973+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='kmalloc kfree'/><title type='text'>Kmalloc Internals</title><summary type='text'>Notes:             Understanding this requires a minimal understanding  of  the linux kernel.  Sometimes I may use the names of functions that  are  commonly known.  If you don't know what they are, a quick Google  or grep through the include directory should find them for you.  All  of the cache related functions I mention can be found in the file /usr/src/linux/mm/slab.c.    Some of the numbers</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/9137975319061690177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=9137975319061690177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/9137975319061690177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/9137975319061690177'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/05/kmalloc-internals.html' title='Kmalloc Internals'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-3774289240919455896</id><published>2007-05-01T11:42:00.000+05:30</published><updated>2007-05-01T16:27:15.440+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ipv6'/><title type='text'>IPv6</title><summary type='text'>1.  Introduction  IP version 6 (IPv6) is a new version of the Internet Protocol,  designed as the successor to IP version 4 (IPv4) [RFC-791].  The  changes from IPv4 to IPv6 fall primarily into the following  categories:     o  Expanded Addressing Capabilities        IPv6 increases the IP address size from 32 bits to 128 bits, to        support more levels of addressing hierarchy, a much greater</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/3774289240919455896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=3774289240919455896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3774289240919455896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/3774289240919455896'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/04/ipv6.html' title='IPv6'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-8728635673266508417</id><published>2007-04-30T12:17:00.000+05:30</published><updated>2007-04-30T12:25:27.562+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ipsec'/><title type='text'>IPsec (IP Security)</title><summary type='text'>IPsec (IP security) is a suite of protocols for securing Internet Protocol (IP) communications by authenticating and/or encrypting each IP packet in a data stream. IPsec also includes protocols for cryptographic key establishment.Summary  IPsec protocols operate at the network layer, layer 3 of the OSI model. Other Internet security protocols in widespread use, such as SSL and TLS, operate from </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/8728635673266508417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=8728635673266508417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/8728635673266508417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/8728635673266508417'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/04/ipsec-ip-security.html' title='IPsec (IP Security)'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-7038696969998200329</id><published>2007-04-26T12:38:00.000+05:30</published><updated>2007-04-26T12:39:15.941+05:30</updated><title type='text'>Cool Linux Sites</title><summary type='text'>These are Linux sites maintained by people with lots of free   time.           Linux       Documentation ProjectThe canonical set of Linux online and printed       documentation.Linux OnlineLinux information.linux.org.ukLinux information from Great Britain (very good!)Linux InternationalAn organization for promoting the use of Linux.The linux-kernel       mailing list FAQAnswers to </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/7038696969998200329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=7038696969998200329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7038696969998200329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/7038696969998200329'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/04/cool-linux-sites.html' title='Cool Linux Sites'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-5367859389529709766</id><published>2007-04-25T15:38:00.000+05:30</published><updated>2007-04-25T15:41:19.377+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><title type='text'>Debugging kernel with printk</title><summary type='text'>The most common debugging   technique is monitoring, which in applications programming is done by calling printf at suitable points. When you are debugging kernel code, you can accomplish the same goal with printk.    4.2.1. printk   We use the printk  function with the simplifying assumption that it works like printf. Now it's time to introduce some of the differences.   One of the differences </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/5367859389529709766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=5367859389529709766' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/5367859389529709766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/5367859389529709766'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/04/debugging-kernel-with-printk.html' title='Debugging kernel with printk'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-2811384207811118353</id><published>2007-04-24T10:11:00.000+05:30</published><updated>2007-04-24T10:17:24.052+05:30</updated><title type='text'>Experiments with Linux Process (Useful)</title><summary type='text'>1. Introduction    Traditionally, a Unix process is divided into segments. The standard segments are code segment, data segment, BSS (block started by symbol), and stack segment.   The code segment contains the binary code of the program which is running as the process (a "process" is a program in execution). The data segment contains the initialized global variables and data structures. The BSS </summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/2811384207811118353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=2811384207811118353' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2811384207811118353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/2811384207811118353'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/04/experiments-with-linux-process-useful.html' title='Experiments with Linux Process (Useful)'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1057442733519404176.post-4848862997642304799</id><published>2007-04-03T17:55:00.001+05:30</published><updated>2007-04-03T17:55:37.656+05:30</updated><title type='text'>2.4.10 kernel compilation</title><summary type='text'>      Compiling a linux 2.4 kernel.                                    The currently running kernel is 2.4.20-8 and re-compiling it makes 2.4.20-8custom. The steps are:Step 1: make xconfigStep 2: make dep (because it was instructed)Step 3: make bzImage (bzImage is same as vmlinuz, it's renamed to vmlinuz)Step 4: make modulesStep 5: make modules_install (This creates directory /lib/modules/2.4.20-</summary><link rel='replies' type='application/atom+xml' href='http://linuxinme.blogspot.com/feeds/4848862997642304799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1057442733519404176&amp;postID=4848862997642304799' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4848862997642304799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1057442733519404176/posts/default/4848862997642304799'/><link rel='alternate' type='text/html' href='http://linuxinme.blogspot.com/2007/04/2410-kernel-compilation.html' title='2.4.10 kernel compilation'/><author><name>deepu</name><uri>http://www.blogger.com/profile/01535457403268861087</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>26</thr:total></entry></feed>
