<div dir="ltr">Hi Gedare,<div><div class="gmail_extra"><br><div class="gmail_quote">2014-02-26 1:07 GMT+08:00 Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span>:<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">You may like to read<br>
<a href="http://wiki.rtems.org/wiki/index.php/SMP#Non-Preempt_Mode_for_Mutual_Exclusion" target="_blank">http://wiki.rtems.org/wiki/index.php/SMP#Non-Preempt_Mode_for_Mutual_Exclusion</a><br>
in addition to the Condition Variables project page. You can search<br>
for "condition variable" in a search engine to get some useful<br>
background material. More below.<br>
<div class=""><br></div></blockquote><div>Thank you for your reply. I will search and prepare this project and a draft will be post ASAP.<br></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">
<div class="">
On Tue, Feb 25, 2014 at 9:45 AM, zhang json <<a href="mailto:json.a.zhang@gmail.com">json.a.zhang@gmail.com</a>> wrote:<br>
> Hi all,<br>
><br>
> I am a student who is preparing for participating  the GSOC2014, and from<br>
> 'Open Project' i found a interesting project 'Condition Variables'. So i<br>
> want to know the basic information about the status of this project.<br>
><br>
> There is a bug [1] which is maybe related to it but it seems that<br>
> 'Condition Variables' is not the main problem of this bug. So my confusion<br>
> is blow:<br>
><br>
> 1. As one of the classic operating system synchronization primitives whether<br>
> RTEMS has a basic 'Condition Variables' support?<br>
</div>RTEMS lacks a condition variable (monitor) implementation within the<br>
classic API located in cpukit/rtems/*, and also within the supercore<br>
"kernel" interface located in cpukit/score/*. There is condition<br>
variables support in posix, as the<br>
cpukit/posix/include/rtems/posix/condimpl.h.<br>
<div class=""><br></div></blockquote><div>OK, i have some rtems experience so i will first design the CV and implement it in score component, then warp it into classic api.</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">
<div class="">
> 2. If answer not from 1, what is the requirement of the implementation?<br>
</div>It should implement a classic API condition variable that can be<br>
similar to the classic API implementation of semaphore<br>
(cpukit/rtems/include/rtems/rtems/sem.h and semimpl.h). The condition<br>
variable should be implemented in the supercore (cpukit/score) and<br>
that implementation should be shared by the posix condvar and the<br>
classic API condition variables.<br>
<div class=""><br></div></blockquote><div>Yeah, i will refer to implementation of semaphore and mutex. And there are lots of open source CV implementation for many os, such freebsd, netbsd, linux, eCos. About linux its license may be is not compatible with RTEMS, so i just learn its idea instead of code. </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"><div class="">
> 3. Whether its implementation should support SMP?<br>
><br>
</div>The implementation must support SMP.<br></blockquote><div>Yeah, it will be a challenge. But as i know the SMP support of RTEMS is becoming better, some SMP synchronization primitives have been support, like atomic. I am wondering whether semaphore and mutex is supported SMP?<br>
</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">
<br>
Gedare<br>
<br>
><br>
><br>
> 1. <a href="https://www.rtems.org/bugzilla/show_bug.cgi?id=1467" target="_blank">https://www.rtems.org/bugzilla/show_bug.cgi?id=1467</a><br>
><br>
> _______________________________________________<br>
> rtems-devel mailing list<br>
> <a href="mailto:rtems-devel@rtems.org">rtems-devel@rtems.org</a><br>
> <a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Json Zhang<div>Best Regards</div></div>
</div></div></div>