Just checking in.. is all this work merged?
--joel
On 08/12/2013 08:32 AM, Gedare Bloom wrote:
Good work Zhongwei! This was a good effort and will be useful for many
in the future. I hope you can find other little RTEMS projects to work
on as your time and interest permits.
-Gedare
On Sun, Aug 4, 2013 at 8:23 PM, Ashi <ashi08...@gmail.com> wrote:
Here is the patch created by git format-patch.
Cheers,
Zhongwei
On Sun, Aug 4, 2013 at 2:24 PM, Ashi <ashi08...@gmail.com> wrote:
Hi, All. The patch is updated according to Sebastian's comments.
Cheers,
Zhongwei
On Fri, Aug 2, 2013 at 7:01 PM, Ashi <ashi08...@gmail.com> wrote:
On Fri, Aug 2, 2013 at 2:38 PM, Sebastian Huber
<sebastian.hu...@embedded-brains.de> wrote:
On 2013-08-02 03:03, Ashi wrote:
+ /** This field points to parent freechain node */
+ POSIX_Keys_Freechain_node *fc_node_ptr;
I don't think we need this fc_node_ptr.
Do you mean use a 'Container' macro instead?
Not necessarily, see below.
+ /** This field is the POSIX key used as an rbtree key */
+ pthread_key_t key;
+ /** This field is the Thread id also used as an rbtree key
*/
+ Objects_Id thread_id;
+ /** This field points to the POSIX key value of specific
thread */
+ void *value;
+} POSIX_Keys_Rbtree_node;
I would call this POSIX_Keys_Key_value_pair.
+
+/**
+ * @brief POSIX_Keys_Freechain is used in Freechain structure
+ */
+typedef struct {
+ Freechain_Control super_fc;
+ size_t bump_count;
+} POSIX_Keys_Freechain;
+
+/**
+ * @brief POSIX_Keys_Freechain_node is freechain node
+ */
+struct POSIX_Keys_Freechain_node___struct {
+ Chain_Node ch_node;
+ POSIX_Keys_Rbtree_node rb_node;
+};
Why not use POSIX_Keys_Rbtree_node directly?
Since every freechain node needs a Chain_Node in its first field. There
is a
Chain_Node in POSIX_Keys_Rbtree_node, but it is used in each thread's
key
value chain. So I add a Chain_Node to POSIX_Keys_Rbtree_node.
The key value pairs on the free chain are unused, thus not part of other
data structures. So basically you can cast an unused object to any type
provided it has enough storage.
Cool! I see. I didn't realise the whole key value pairs is actually
unused until it moves from Freechain to POSIX key value pair.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
--
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherr...@oarcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35806
Support Available (256) 722-9985
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel