<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>004 Linux Network Programming - EmbLogic</title>
      <link>https://www.emblogic.com/forum/categories/linux-network-programming-sockets/feed.rss</link>
      <pubDate>Thu, 13 Aug 26 21:17:49 +0530</pubDate>
         <description>004 Linux Network Programming - EmbLogic</description>
   <language>en-CA</language>
   <atom:link href="/forum/discussions/feed.rss" rel="self" type="application/rss+xml" />
		<item>
			<title>Centralized Logging System. Conceptual Overview: The &quot;Tower of Babel&quot; Problem.</title>
			<link>https://www.emblogic.com/forum/discussion/2073/centralized-logging-system-conceptual-overview-the-tower-of-babel-problem-</link>
			<pubDate>Fri, 03 Apr 2026 17:05:20 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">2073@/forum/discussions</guid>
			<description><![CDATA[<span style="font-family: Georgia; color: #990000; font-size: large;"><b>004.12.f1. Centralized Logging System.</b></span><div><span style="font-family: Georgia; color: #990000; font-size: large;">Conceptual Overview: The "Tower of Babel" Problem.&nbsp;</span></div>]]></description>
		</item>
		<item>
			<title>Thread Pool and Task Queue. Validating the Thread Pool: A Stress Testing Guide</title>
			<link>https://www.emblogic.com/forum/discussion/2072/thread-pool-and-task-queue-validating-the-thread-pool-a-stress-testing-guide</link>
			<pubDate>Fri, 03 Apr 2026 15:44:44 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">2072@/forum/discussions</guid>
			<description><![CDATA[<span style="font-family: Georgia; color: #990000; font-size: large;"><b>004.12.e4. Thread Pool and Task Queue.</b></span><div><span style="font-family: Georgia; color: #990000; font-size: large;">Validating the Thread Pool: A Stress Testing Guide</span></div>]]></description>
		</item>
		<item>
			<title>Thread Pool and Task Queue. Reasoning: Why is this an Enterprise-Grade Improvement</title>
			<link>https://www.emblogic.com/forum/discussion/2071/thread-pool-and-task-queue-reasoning-why-is-this-an-enterprise-grade-improvement</link>
			<pubDate>Fri, 03 Apr 2026 09:18:19 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">2071@/forum/discussions</guid>
			<description><![CDATA[<b><span style="font-family: Georgia; color: #990000; font-size: large;">004.12.e3. Thread Pool and Task Queue.</span></b><div><span style="font-family: Georgia; color: #990000; font-size: large;">Reasoning: Why is this an Enterprise-Grade Improvement</span></div>]]></description>
		</item>
		<item>
			<title>Thread Pool and Task Queue. File-by-File Changes and Explanations</title>
			<link>https://www.emblogic.com/forum/discussion/2070/thread-pool-and-task-queue-file-by-file-changes-and-explanations</link>
			<pubDate>Thu, 02 Apr 2026 14:56:03 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">2070@/forum/discussions</guid>
			<description><![CDATA[<span style="font-family: Georgia; color: #990000; font-size: large;"><b>004.12.e2. Thread Pool and Task Queue.&nbsp;</b></span><div><span style="font-family: Georgia; color: #990000; font-size: large;">File-by-File Changes and Explanations</span></div>]]></description>
		</item>
		<item>
			<title>Thread Pool and Task Queue. Conceptual Overview</title>
			<link>https://www.emblogic.com/forum/discussion/2069/thread-pool-and-task-queue-conceptual-overview</link>
			<pubDate>Thu, 02 Apr 2026 12:26:38 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">2069@/forum/discussions</guid>
			<description><![CDATA[<b><span style="font-family: Georgia; color: #990000; font-size: large;">004.12.e1. Thread Pool and Task Queue. Conceptual Overview.</span></b><div><b><span style="font-family: Georgia; color: #990000; font-size: large;">Resolving Queries.</span></b></div>]]></description>
		</item>
		<item>
			<title>What is Software Ports? What is their Role?</title>
			<link>https://www.emblogic.com/forum/discussion/2037/what-is-software-ports-what-is-their-role</link>
			<pubDate>Mon, 02 Jun 2025 05:05:04 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">2037@/forum/discussions</guid>
			<description><![CDATA[Any Answers!]]></description>
		</item>
		<item>
			<title>Interview Questions: Project 03</title>
			<link>https://www.emblogic.com/forum/discussion/667/interview-questions-project-03</link>
			<pubDate>Sat, 19 Aug 2017 20:44:01 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">667@/forum/discussions</guid>
			<description><![CDATA[Please post the Interview Questions and Answers related to Network Programming using Sockets<br />]]></description>
		</item>
		<item>
			<title>Termux</title>
			<link>https://www.emblogic.com/forum/discussion/1101/termux</link>
			<pubDate>Mon, 15 Jan 2024 19:32:18 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1101@/forum/discussions</guid>
			<description><![CDATA[<div><span style="font-family: Arial, Verdana;"><span>Download Termux from this url (the playstore version would not work)</span></span></div><span style="font-family: Arial, Verdana;"><span><a href="https://f-droid.org/en/packages/com.termux/" target="_blank" rel="nofollow">https://f-droid.org/en/packages/com.termux/</a></span></span>]]></description>
		</item>
		<item>
			<title>Introduction to Socket Programming</title>
			<link>https://www.emblogic.com/forum/discussion/831/introduction-to-socket-programming</link>
			<pubDate>Sun, 15 Mar 2020 13:44:27 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">831@/forum/discussions</guid>
			<description><![CDATA[<p><span><span><span>Any queries/resolutions/advice/articles/discussion related to...<br /></span></span></span></p><p><span><span style="color: #990000;"><b>03. 004.03.Introduction To Sockets<br /></b></span></span><span><span><span>should be posted here...</span></span></span></p>]]></description>
		</item>
		<item>
			<title>01.IntroductionToNetworkProgramming</title>
			<link>https://www.emblogic.com/forum/discussion/922/01-introductiontonetworkprogramming</link>
			<pubDate>Thu, 08 Oct 2020 08:55:08 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">922@/forum/discussions</guid>
			<description><![CDATA[<span>All queries, discussions, updates and clarifications related to&nbsp;</span><div><span><span style="font-family: Helvetica, Arial, Lucida Grande, Liberation Sans, sans-serif;">01.IntroductionToNetworkProgramming</span></span></div><div><span>should be posted here.</span></div>]]></description>
		</item>
		<item>
			<title>02.Introduction To Network Programming</title>
			<link>https://www.emblogic.com/forum/discussion/925/02-introduction-to-network-programming</link>
			<pubDate>Tue, 13 Oct 2020 09:48:59 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">925@/forum/discussions</guid>
			<description><![CDATA[<span>You are invited to put in all queries/resolutions/advice/articles/discussion related to</span><div><span style="font-family: Helvetica, Arial, Lucida Grande, Liberation Sans, sans-serif;"><span>02.Introduction To Network Programming</span></span></div><div><span style="font-family: Helvetica, Arial, Lucida Grande, Liberation Sans, sans-serif;"><span>Here...</span></span></div>]]></description>
		</item>
		<item>
			<title>02.Introduction to Network Programming</title>
			<link>https://www.emblogic.com/forum/discussion/923/02-introduction-to-network-programming</link>
			<pubDate>Fri, 09 Oct 2020 12:17:46 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">923@/forum/discussions</guid>
			<description><![CDATA[<span>You are invited to put in all queries/resolutions/advice/articles/discussion related to<br /></span><div><span style="font-family: Helvetica, Arial, Lucida Grande, Liberation Sans, sans-serif;"><span>02.Introduction to Network Programming</span></span></div><div><span>here...</span></div>]]></description>
		</item>
		<item>
			<title>Project: Network Programming. Client-Server Implementation using TCP Socket</title>
			<link>https://www.emblogic.com/forum/discussion/962/project-network-programming-client-server-implementation-using-tcp-socket</link>
			<pubDate>Tue, 25 Jan 2022 07:11:35 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">962@/forum/discussions</guid>
			<description><![CDATA[<span style="font-family: Georgia; font-size: large;"><span style="color: #666666;">All discussion, queries, suggestions related to Session...</span><br /><span style="text-decoration: underline;"><b><span style="color: #990000;">Project: Network Programming. Client-Server Implementation using TCP Socket</span></b></span><br /></span><div><span><span><span><span><span><span style="font-family: Georgia; color: #666666; font-size: large;">should be posted here...</span></span></span></span></span></span></div><p><br /></p>]]></description>
		</item>
		<item>
			<title>Linux and the Maximum number of processes (threads)</title>
			<link>https://www.emblogic.com/forum/discussion/52/linux-and-the-maximum-number-of-processes-threads</link>
			<pubDate>Fri, 21 Mar 2014 07:13:23 +0530</pubDate>
			<dc:creator>varun</dc:creator>
			<guid isPermaLink="false">52@/forum/discussions</guid>
			<description><![CDATA[The maximum number of threads is calculated through:<br /><p>max_threads = totalram_pages / (8 * THREAD_SIZE / PAGE_SIZE);</p><br /><p><em>(defined in kernel/fork.c, called by init/main.c)</em></p><br /><p>PAGE_SIZE is architecture specific, for x86 it’s 4kb (and 4MB but thats a discussion for another day), and is calculated via:</p><br /><p><a rel="nofollow" href="/forum/search?Search=%23define&amp;Mode=like">#define</a> __AC(X,Y) &nbsp; &nbsp; &nbsp; (X##Y)<br /><br /><a rel="nofollow" href="/forum/search?Search=%23define&amp;Mode=like">#define</a> _AC(X,Y) &nbsp; &nbsp; &nbsp; &nbsp;__AC(X,Y)<br /><br /><a rel="nofollow" href="/forum/search?Search=%23define&amp;Mode=like">#define</a> PAGE_SHIFT &nbsp; &nbsp; &nbsp;12<br /><br /><a rel="nofollow" href="/forum/search?Search=%23define&amp;Mode=like">#define</a> PAGE_SIZE &nbsp; &nbsp; &nbsp; (_AC(1,UL) &lt;&lt; PAGE_SHIFT)</p><br /><p>PAGE_SHIFT is a constant for x86, other architectures support <br />alternate (larger) page sizes. THREAD_SIZE is also architecture <br />specific:</p><br /><p><a rel="nofollow" href="/forum/search?Search=%23define&amp;Mode=like">#define</a> THREAD_ORDER &nbsp; &nbsp;1<br /><br /><a rel="nofollow" href="/forum/search?Search=%23define&amp;Mode=like">#define</a> THREAD_SIZE &nbsp;(PAGE_SIZE &lt;&lt; THREAD_ORDER)</p><br /><p>THREAD_ORDER is 1 in x86, but can vary depending on the arch. These <br />result in a PAGE_SIZE of&nbsp;4096 and a THREAD_SIZE of 8192 for x86. Back to<br /> the formula &nbsp;above, we can fill it in as:</p><br /><p>&nbsp;</p><br /><p>max_threads = totalram_pages / (8 * 8192 / 4096);</p><br /><p>becomes</p><br /><p>max_threads = totalram_pages / 16 ;</p><br /><p>Calculating totalram_pages is a bit tricky since its not just the <br />full system ram allocated to pages. The easiest way to calculate it from<br /> /proc/zoneinfo, by summing the spanned pages:</p><br /><p>cat /proc/zoneinfo | grep spanned | awk ‘{totalpages=totalpages+$2} END {print totalpages}’<br /><br />3407872</p><br /><p>So on my PC with 12 gigabytes of memory we’ve got:</p><br /><p>max_threads =&nbsp;&nbsp;3407872&nbsp;/ 16;</p><br /><p>becomes</p><br /><p>max_threads = 212992;</p><br /><p>Now the default maximum number of threads is designed to be able to <br />only consume half the memory from threads alone. But one user should <br />also not be able to consume all of the threads on the system. Back in <br />kernel/fork.c we have:</p><br /><p>init_task.signal-&gt;rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;<br /><br />init_task.signal-&gt;rlim[RLIMIT_NPROC].rlim_max = max_threads/2;</p><br /><p><a rel="nofollow" href="http://mlkshk.com/p/RFU" target="_blank"><br /><br /></a><img class="alignright" src="http://mlkshk.com/r/RFU" alt="" height="107" width="373" /></p><br /><p>So there you have it.</p>]]></description>
		</item>
		<item>
			<title>09.Network Architecture and Sockets</title>
			<link>https://www.emblogic.com/forum/discussion/928/09-network-architecture-and-sockets</link>
			<pubDate>Tue, 20 Oct 2020 09:33:01 +0530</pubDate>
			<dc:creator>spatlou</dc:creator>
			<guid isPermaLink="false">928@/forum/discussions</guid>
			<description><![CDATA[<span>You are invited to put in all queries/resolutions/advice/articles/discussion related to</span><div><span style="font-family: Helvetica, Arial, Lucida Grande, Liberation Sans, sans-serif;"><span>09.Network Architecture and Sockets</span></span></div><div><span style="font-family: Helvetica, Arial, Lucida Grande, Liberation Sans, sans-serif;"><span>Here...</span></span></div>]]></description>
		</item>
   </channel>
</rss>