<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 15, 2016 at 10:04 AM, Darshit Shah <span dir="ltr"><<a href="mailto:darnir@gmail.com" target="_blank">darnir@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 15 January 2016 at 16:47, Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br>
> On Fri, Jan 15, 2016 at 5:57 AM, Darshit Shah <<a href="mailto:darnir@gmail.com">darnir@gmail.com</a>> wrote:<br>
>> Hi Team,<br>
>><br>
>> My name is Darshit Shah and I'd like to (potentially) be a part of the<br>
>> RTEMS project for GSoC 2016. I know that the organization applications<br>
>> open only next month, but I'm assuming that you will apply again this<br>
>> year and be selected as well.<br>
>><br>
>> I'm sending this email to the devel mailing list since it mostly<br>
>> concerns development of RTEMS and may not be of wide interest to the<br>
>> audience of the users list.<br>
>><br>
>> As of now, I have been through quite a bit of the Getting Started<br>
>> documentation available on the wiki, and have managed to set up a<br>
>> working environment for SPARC/SIS. The wiki says prospective students<br>
>> need to provide proof of setting up the environment. I've attached a<br>
>> patch file for the Hello World test program that I modified along with<br>
>> a screenshot after I ran it with `sparc-rtems4.11-run` instead of the<br>
>> gdb session as is shown on the wiki page. Please do let me know if I<br>
>> need to provide anything else.<br>
> Use 4.12 tools to build the master now. You don't need to resend the "proof".<br>
<br>
</span>I shall attempt this over the weekend. Should not be very different.<br>
<span class="">><br>
>> I've seen that the preferred method of sending patches to this mailing<br>
>> list is via git send-email which would send the patches inline.<br>
>> Currently my msmtp authentication is broken for some reason and hence<br>
>> I'm unable to use git send-email directly. And pasting a patch in<br>
>> Gmail is known to cause multiple issues. I'll fix my setup soon and be<br>
>> able to send future patches directly via the command line.<br>
>><br>
> Attaching the patches are fine.<br>
</span>That's perfect. I've seen certain mailing lists where they are<br>
extremely particular about patch submission, so I tend to try and<br>
stick to any provided documentation.<br>
<span class="">><br>
>> I'd also like to discuss about prospective open projects. I've been<br>
>> through the Open Projects page and found a few that I'd be interested<br>
>> in. Please do let me know if they're still available and if there's<br>
>> continued interest in seeing them fulfilled. I'm listing them in no<br>
>> particular order:<br>
>><br>
>> 1. POSIX Compliance Test Suite:<br>
>> <a href="https://devel.rtems.org/wiki/Developer/Projects/Open/POSIXComplianceTestSuite" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/Developer/Projects/Open/POSIXComplianceTestSuite</a><br>
>> 2. Using Clang: <a href="https://devel.rtems.org/wiki/Developer/Projects/Open/UsingClang" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/Developer/Projects/Open/UsingClang</a><br>
>> 3. Condition Variables:<br>
>> <a href="https://devel.rtems.org/wiki/Developer/Projects/Open/Condition_Variables" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/Developer/Projects/Open/Condition_Variables</a><br>
>> 4. Nested Mutexes:<br>
>> <a href="https://devel.rtems.org/wiki/Developer/Projects/Open/StrictOrderMutex" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/Developer/Projects/Open/StrictOrderMutex</a></span></blockquote><div><br></div><div>Gedare covered this.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
>> 5. Paravirtualization:<br>
>> <a href="https://devel.rtems.org/wiki/Developer/Projects/Open/Paravirtualization" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/Developer/Projects/Open/Paravirtualization</a></span></blockquote><div><br></div><div>I honestly don't know what we would encourage you to do off the top of my head.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
>> 6. Improve POSIX Compliance:<br>
>> <a href="https://devel.rtems.org/wiki/Developer/Projects/Open/POSIXCompliance" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/Developer/Projects/Open/POSIXCompliance</a><br>
>><br>
> Avoid 2 for now, until we replace autotools with waf the ability to<br>
> use clang is complicated by certain gcc-isms in our build and<br>
> configuration files.<br>
<br>
</span>I did notice a little bit of it when I tried to compile it with clang<br>
earlier. The warning about usage of environment variables bit me a<br>
couple of times.<br>
<span class="">><br>
> 4 was more or less done, although not merged yet... You can consider<br>
> re-implementing Linux's approach to 4 if you like, but it may not be<br>
> particularly compelling.<br>
</span>I could help clean up the existing patch set if required. Unless a<br>
reimplementation is indeed desired.<br>
<br>
><br>
> 5 is iffy.<br>
I was actually a bit interested in this. Since it seemed to have the<br>
most potential where I get to "play" with multiple tools. I'd be<br>
interested in at least understanding the difficulties in this project.<br>
<span class="">><br>
> 1 and 6 are somewhat interesting coding projects.<br>
</span>Yes. I thought so too. Though I would think 1 ought to be implemented<br>
before 6 to ensure correctness.<br>
<br></blockquote><div><br></div><div>1 and 6 are probably things I wrote up.</div><div><br></div><div>For (1), I am not thinking of implementing a new test suite as much</div><div>as leveraging existing code bases. For example, we do not test the</div><div>newlib C library. There is supposed to be a way to test it with the</div><div>glibc test suite but I have never done it and there is a list of known</div><div>failures.  Being able to run that would be a good thing and nice goal.</div><div>It could be a milestone on the path to (6)</div><div><br></div><div>For (6), there are some tickets for some missing methods. I have an</div><div>old list which I will update in the next week (I hope) which details</div><div>the methods missing per the Open Group FACE POSIX profiles.</div><div>You can download the PDF for FACE Technical Standard 2.1 at:</div><div><br></div><div><a href="http://opengroup.org/face/information">http://opengroup.org/face/information</a><br></div><div><br></div><div>My old notes has these pthread methods as missing versus</div><div>the FACE Safety Base profile. That is focused on single process</div><div>multi-threaded applications.</div><div><br></div><div><div>pthread_condattr_getclock</div><div>pthread_condattr_setclock</div><div>pthread_getcpuclockid<br></div><div>pthread_setschedprio</div><div>pthread_getconcurrency<br></div><div>pthread_setconcurrency</div></div><div><br></div><div>I also recall two missing stdint.h methods.  Beyond that, there are two </div><div>large categories of missing math methods in newlib to address. One</div><div>class is the complex long double and the other is the fenv.h</div><div>support.</div><div><br></div><div>POSIX 2013 added robust mutexes and those look to be interesting<br></div><div>for RTEMS.</div><div><br></div><div>Some of this goes in RTEMS proper and some would be enhancements</div><div>to newlib which would also benefit the Cygwin community.</div><div><br></div><div>(6) is a good GSoC project. It is a matter of what you are interested</div><div>in doing.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Also, any thoughts on 3? Condition Variables was marked in bold to<br>
indicate an interesting project.<br></blockquote><div><br></div><div>I think this is technically done. Sebastian implemented some low level</div><div>objects to improve performance of the new TCP/IP stack and GCC </div><div>libraries like C++ and OpenMP. Start a  separate email thread for</div><div>this. We may need to delete the task or rewrite it.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class="">><br>
>> The above listed projects seem rather more interesting to me from the<br>
>> entire list and I would not mind working on any of them. I am open to<br>
>> other project suggestions as well. Since, I haven't played around with<br>
>> RTEMS enough as yet, I am unable to come up with a new idea myself.<br>
>><br>
>> A little information about me:<br>
>> I'm a master's student in Computer Science at the Saarland University,<br>
>> Germany. My research interests are in Hard Real Time Systems,<br>
>> especially in providing hard bounds on WCET and Memory Requirements of<br>
>> algorithms being implemented. My Bachelor's Thesis was based on<br>
>> providing an analysis of the Read-Copy-Update Synchronization<br>
>> Primitive in a Hard Real Time context. Hence, RTEMS seems like a<br>
>> perfect match for me.<br>
>><br>
> Given your background, you may also want to check out ticket #2510 on our Trac.<br>
<br>
</span>This is a rather interesting coincidence. Björn Brandenburg, the<br>
author of the paper mentioned in the ticket was my thesis advisor. He<br>
is also a faculty at my university. I was there when they went through<br>
this research. I'd gladly pick this up as a task.<br>
<div class=""><div class="h5">><br>
>><br>
>> --<br>
>> Thanking You,<br>
>> Darshit Shah<br>
>><br>
>> _______________________________________________<br>
>> devel mailing list<br>
>> <a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
>> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
<br>
<br>
<br>
--<br>
Thanking You,<br>
Darshit Shah<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></div></div></blockquote></div><br></div></div>