<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; akshay.kalra</title>
	<atom:link href="https://www.emblogic.com/blog/author/akshay-kalra/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>C Test paper1</title>
		<link>https://www.emblogic.com/blog/08/c-test-paper1/</link>
		<comments>https://www.emblogic.com/blog/08/c-test-paper1/#comments</comments>
		<pubDate>Sat, 17 Aug 2013 12:30:50 +0000</pubDate>
		<dc:creator><![CDATA[akshay.kalra]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7114</guid>
		<description><![CDATA[Completed C test paper 1&#8230;&#8230;. But stuck in 4 and 15 question&#8230;.]]></description>
				<content:encoded><![CDATA[<p>Completed C test paper 1&#8230;&#8230;.<br />
But stuck in 4 and 15 question&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/c-test-paper1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daily report of Project 5 Character Driver</title>
		<link>https://www.emblogic.com/blog/08/daily-report-of-project-5-character-driver/</link>
		<comments>https://www.emblogic.com/blog/08/daily-report-of-project-5-character-driver/#comments</comments>
		<pubDate>Thu, 08 Aug 2013 13:28:39 +0000</pubDate>
		<dc:creator><![CDATA[akshay.kalra]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7064</guid>
		<description><![CDATA[RCS file: driver3.c,v Working file: driver3.c head: 1.16 branch: locks: strict root: 1.16 access list: symbolic names: keyword substitution: kv total revisions: 16; selected revisions: 16 description: Here we have implemented completion We have introduced two completion variables With the &#8230; <a href="https://www.emblogic.com/blog/08/daily-report-of-project-5-character-driver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: driver3.c,v<br />
Working file: driver3.c<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
	root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16;	selected revisions: 16<br />
description:<br />
Here we have implemented completion<br />
We have introduced two completion variables<br />
With the help of flag we have implemented it<br />
It is running accurate for 10 multi-threaded app<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16	locked by: root;<br />
date: 2013/08/08 13:14:03;  author: root;  state: Exp;  lines: +53 -7<br />
Firstly we have initialised init_timer function in hello_init function<br />
expires value we have given is J + HZ<br />
we have made one function timer_f in which we have called system call in_interrupt and in_atomic<br />
Now main thing is that we have added kernel timer in write and read function both<br />
in_interrupt returns 256<br />
in_atomic returns 1<br />
some discussion is required on these values<br />
At the end we have called del_timer function in clean_up function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2013/08/06 07:22:42;  author: root;  state: Exp;  lines: +13 -5<br />
Now here we have implemented rdtscl function to measure jiffie_64 counter value<br />
we have implemented in write function ad found out the counter differnce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2013/08/06 06:27:57;  author: root;  state: Exp;  lines: +8 -1<br />
Now used time_after_eq<br />
time_before<br />
time_before_eq functions<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2013/08/06 06:17:26;  author: root;  state: Exp;  lines: +16 -3<br />
Now here we have calculated current jiffies value at the start and end of write function and compare with the help of time_after function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2013/08/06 05:51:10;  author: root;  state: Exp;  lines: +69 -11<br />
Now here we have calculated jiffies current value and HZ value in hello_init function<br />
Also we have converted jiffies value int microseconds, millisecond, nanosecond, seconds with the help fo function jiffies_to_timespec and jiffies_to_timeval<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2013/08/01 13:03:44;  author: root;  state: Exp;  lines: +8 -0<br />
Here we have checked one capability condition in __getuser function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2013/08/01 11:47:22;  author: root;  state: Exp;  lines: +19 -2<br />
Now in again ioctl function we have used __put user functio<br />
function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2013/08/01 09:52:21;  author: root;  state: Exp;  lines: +42 -0<br />
Firstly, we have define a function ioctl<br />
In that function we have used switch statement and used __get user function for both SQSET and SQUANTUM function<br />
Now here we observe that user app change the value of qset_size as well as quantum_size<br />
Further changes are noticable at IO i.e.read and write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2013/07/30 07:15:13;  author: root;  state: Exp;  lines: +1 -0<br />
Now here we have declared one buffer in read_proc function<br />
Then we point buff address to start which points to page<br />
Refer figure on notebook for understanding<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2013/07/30 07:03:02;  author: root;  state: Exp;  lines: +14 -4<br />
Now here we have again made some changes<br />
Now we have called remove_proc_entry function in release function<br />
Rather calling on cleanup function<br />
Because it will remove only one entry as clean up function executes once<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2013/07/30 06:26:23;  author: root;  state: Exp;  lines: +7 -5<br />
Now here we have made some changes<br />
Rather calling create_proc_entry function in init function we have called in open function<br />
So that this<br />
Function called no of times as no of apps called/executes.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2013/07/29 12:57:51;  author: root;  state: Exp;  lines: +2 -2<br />
Also we have removed our entry from proc filesystem by calling function hello_exit<br />
Function is remove_proc_entry<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2013/07/29 12:52:03;  author: root;  state: Exp;  lines: +29 -14<br />
Here we have defined create_proc_read_entry function after kmalloc<br />
Also we have defined read_proc function<br />
We have created an entry in /proc file system with the name of napp1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2013/07/29 09:28:44;  author: root;  state: Exp;  lines: +20 -12<br />
Here we have implemented spinlock<br />
But we have found that as this system is having 2 cores. Therefore, it is capable of handling 1 multithreaded app<br />
Now i will run this code on i5 laptop and observe the result<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2013/07/28 11:22:47;  author: root;  state: Exp;  lines: +23 -8<br />
Here we have implemented wait queues<br />
We have taken two wait queues variable<br />
We have implemented this problem with the help of flags<br />
This is running correct for 10 multi threaded apps<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2013/07/28 08:49:34;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================<br />
RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
Here we have given header file for Completion<br />
Also we have declared two completion variable in sculldev structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2013/08/08 13:11:35;  author: root;  state: Exp;  lines: +4 -1<br />
Here we have added two header files in order to implement kernel timers<br />
linux/timer.h<br />
linux/hardirq.h<br />
And we have initialised struct timer_list in struct scull_dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2013/08/06 07:25:34;  author: root;  state: Exp;  lines: +1 -0<br />
Included header file defined at user space i.e. asm/msr.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2013/08/06 05:49:14;  author: root;  state: Exp;  lines: +5 -0<br />
We have added two header files for Measuring time lapses<br />
jiffies.h and time.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2013/08/01 12:07:17;  author: root;  state: Exp;  lines: +5 -1<br />
Here we have added header files for ioclt operation<br />
And initialised ioctl function in struct file operations<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2013/07/29 12:55:37;  author: root;  state: Exp;  lines: +1 -0<br />
Here we have added haeder file for proc<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2013/07/29 09:30:38;  author: root;  state: Exp;  lines: +2 -0<br />
Here we have added header file for spinlock<br />
Also we have declared spinlock variable in struct scull_dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2013/07/28 11:21:38;  author: root;  state: Exp;  lines: +3 -0<br />
Now here we have given header file for wait queue<br />
Also we have declared wait queue variable in struct sculldev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2013/07/28 08:52:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/daily-report-of-project-5-character-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daily working report to PRAVJOT SIR about client and server applicaton project&#8230;&#8230;..</title>
		<link>https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project-2/</link>
		<comments>https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project-2/#comments</comments>
		<pubDate>Wed, 25 Jul 2012 18:55:09 +0000</pubDate>
		<dc:creator><![CDATA[akshay.kalra]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4198</guid>
		<description><![CDATA[Yesterday, we had made a server and with the help of fork and exec we have created a new process(client1) and through this new process(client1) we have send two variables and operator to server.  Now today what we have done is &#8230; <a href="https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Yesterday, we had made a server and with the help of fork and exec we have created a new process(client1) and through this new process(client1) we have send two variables and operator to server.  Now today what we have done is we have created another client2 with the help of fork and exec and send that two variables and operator to it and it performs some operation on it then, after performing function client2 sends result to client1 via server&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daily working report to PRAVJOT SIR about client and server applicaton project&#8230;&#8230;..</title>
		<link>https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project/</link>
		<comments>https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 17:35:37 +0000</pubDate>
		<dc:creator><![CDATA[akshay.kalra]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4170</guid>
		<description><![CDATA[I am a student of w7 batch. Today our batch has started working on &#8220;Client and Server Application Project&#8221;. Today we have made a server and with the help of fork and exec we have created a new process(client1) and &#8230; <a href="https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I am a student of w7 batch. Today our batch has started working on &#8220;Client and Server Application Project&#8221;. Today we have made a server and with the help of fork and exec we have created a new process(client1) and through this new process(client1) we have send two variables and operator to server. Our next objective is to send these variables and operator to another client via server for furhter analysis&#8230;&#8230;&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/daily-working-report-to-pravjot-sir-about-client-and-server-applicaton-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
