All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Alessandro Pittaluga <xpit@domain.hid>
Cc: xenomai@xenomai.org, xenomai@xenomai.org
Subject: Re: [Xenomai-core] VxWorks skin improvement
Date: Fri, 17 Mar 2006 16:40:23 +0100	[thread overview]
Message-ID: <441AD867.8070506@domain.hid> (raw)
In-Reply-To: <1142608418.28368.256877984@domain.hid>

Alessandro Pittaluga wrote:
> Philippe, 
> Here follow some tests carried on by my SW lab.
> Hoping this may help.
>

It does, and confirms the other inputs I've had recently on these issues.

Ok, problem solved. Thanks to everyone who helped out.

> Regards
> 
> Alessandro
> 
> ANSWER 1
> As shown below calling taskName with a null argument will return the
> same result returned by taskName called with the return value of
> taskIdSelf().
> 	OUTPUT:
> 	Spawned task xeno_test taskId=0x01a59a48
> 	    This is task_entry_pnt() of task 0x01a59a48
>         	taskName(0)=xeno_test  taskName(taskIdSelf())=xeno_test
>         	taskName(0x01a59a48)=xeno_test
> 
> 
> ANSWER 2
> MSG_PRI_NORMAL is defined 0 and MSG_PRI_URGENT is defined 1. It seems
> that all non 0 priority
> messages are managed as urgent. The first message extracted from the
> queue by a receiver is
> the last inserted into the queue with a non 0 priority.
> The following 7 cases show the calling sequence of a sending task and
> the received message
> lengths of a receiving task.
> 
> CASE 1
> 	[Sending task]: [msgQSend(qid,"a"         , 1, NO_WAIT, MSG_PRI_NORMAL)] returned OK
> 	[Sending task]: [msgQSend(qid,"ab"        , 2, NO_WAIT, MSG_PRI_URGENT)] returned OK
> 	[Sending task]: [msgQSend(qid,"abc"       , 3, NO_WAIT, 2)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcd"      , 4, NO_WAIT, 3)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcde"     , 5, NO_WAIT, 4)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdef"    , 6, NO_WAIT, 5)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefg"   , 7, NO_WAIT, 6)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefgh"  , 8, NO_WAIT, 7)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefghi" , 9, NO_WAIT, 8)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefghij",10, NO_WAIT, 9)] returned OK
> 
> 	[Receiving task]: Received 10 bytes from queue
> 	[Receiving task]: Received  9 bytes from queue
> 	[Receiving task]: Received  8 bytes from queue
> 	[Receiving task]: Received  7 bytes from queue
> 	[Receiving task]: Received  6 bytes from queue
> 	[Receiving task]: Received  5 bytes from queue
> 	[Receiving task]: Received  4 bytes from queue
> 	[Receiving task]: Received  3 bytes from queue
> 	[Receiving task]: Received  2 bytes from queue
> 	[Receiving task]: Received  1 bytes from queue
> 
> CASE 2
> 	[Sending task]: [msgQSend(qid,"abcdefghij",10, NO_WAIT, 9)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefghi" , 9, NO_WAIT, 8)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefgh"  , 8, NO_WAIT, 7)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefg"   , 7, NO_WAIT, 6)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdef"    , 6, NO_WAIT, 5)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcde"     , 5, NO_WAIT, 4)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcd"      , 4, NO_WAIT, 3)] returned OK
> 	[Sending task]: [msgQSend(qid,"abc"       , 3, NO_WAIT, 2)] returned OK
> 	[Sending task]: [msgQSend(qid,"ab"        , 2, NO_WAIT, MSG_PRI_URGENT)] returned OK
> 	[Sending task]: [msgQSend(qid,"a"         , 1, NO_WAIT, MSG_PRI_NORMAL)] returned OK
> 
> 	[Receiving task]: Received  2 bytes from queue
> 	[Receiving task]: Received  3 bytes from queue
> 	[Receiving task]: Received  4 bytes from queue
> 	[Receiving task]: Received  5 bytes from queue
> 	[Receiving task]: Received  6 bytes from queue
> 	[Receiving task]: Received  7 bytes from queue
> 	[Receiving task]: Received  8 bytes from queue
> 	[Receiving task]: Received  9 bytes from queue
> 	[Receiving task]: Received 10 bytes from queue
> 	[Receiving task]: Received  1 bytes from queue
> 
> CASE 3
> 	[Sending task]: [msgQSend(qid,"abcdef"    ,6, NO_WAIT, 5)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefgh"  ,8, NO_WAIT, 7)] returned OK
> 
> 	[Receiving task]: Received  8 bytes from queue
> 	[Receiving task]: Received  6 bytes from queue
> 
> CASE 4
> 	[Sending task]: [msgQSend(qid,"abcdefgh"  ,8, NO_WAIT, 7)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdef"    ,6, NO_WAIT, 5)] returned OK
> 
> 	[Receiving task]: Received  6 bytes from queue
> 	[Receiving task]: Received  8 bytes from queue
> 
> CASE 5
> 	[Sending task]: [msgQSend(qid,"abcdef"    ,6, NO_WAIT, 5)] returned OK
> 	[Sending task]: [msgQSend(qid,"a"         ,1, NO_WAIT, MSG_PRI_NORMAL)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefgh"  ,8, NO_WAIT, 7)] returned OK
> 
> 	[Receiving task]: Received  8 bytes from queue
> 	[Receiving task]: Received  6 bytes from queue
> 	[Receiving task]: Received  1 bytes from queue
> 
> CASE 6
> 	[Sending task]: [msgQSend(qid,"abcdef"    ,6, NO_WAIT, 5)] returned OK
> 	[Sending task]: [msgQSend(qid,"a"         ,1, NO_WAIT, MSG_PRI_NORMAL)] returned OK
> 	[Sending task]: [msgQSend(qid,"ab"        ,2, NO_WAIT,-1)] returned OK
> 
> 	[Receiving task]: Received  2 bytes from queue
> 	[Receiving task]: Received  6 bytes from queue
> 	[Receiving task]: Received  1 bytes from queue
> 
> CASE 7
> 	[Sending task]: [msgQSend(qid,"abcdef"    ,6, NO_WAIT, 5)] returned OK
> 	[Sending task]: [msgQSend(qid,"a"         ,1, NO_WAIT, MSG_PRI_NORMAL)] returned OK
> 	[Sending task]: [msgQSend(qid,"abcdefgh"  ,8, NO_WAIT, MSG_PRI_NORMAL)] returned OK
> 	
> 	[Receiving task]: Received  6 bytes from queue
> 	[Receiving task]: Received  1 bytes from queue
> 	[Receiving task]: Received  8 bytes from queue
> 
> ANSWER 3
> Calling taskInit() with invalid flags won't return any error code.
> 
> SPAWN:  taskInit(&tcb, "xeno_test3", 113, 0xffffffff,
> stack+TASK_STACK_SIZE, 
> 		 TASK_STACK_SIZE, (FUNCPTR)task_entry_pnt, 0,0,0,0,0,0,0,0,0,0)
> INFO:   taskInfoGet((int)&tcb, &td)  ---> td.td_options = 0xffffffff
> 
> The ti funcion returns the following outoput
> -> ti "xeno_test3"
> 
>   NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO
>    DELAY
> ---------- ------------ -------- --- ---------- -------- --------
> ------- -----
> xeno_test3 task_entry_p  1b66090 113 SUSPEND      1969f8  1b6a250      
> 0     0
> 
> stack: base 0x1b6a290  end 0x1b66290  size 16104  high   ???  margin  
> ???
> 
> options: 0xffffffff
> VX_SUPERVISOR_MODE  VX_UNBREAKABLE      VX_DEALLOC_STACK    VX_FP_TASK  
>        VX_STDIO            VX_ADA_DEBUG        VX_FORTRAN         
> VX_PRIVATE_ENV     VX_NO_STACK_FILL
> 
> 
> 


-- 

Philippe.


  reply	other threads:[~2006-03-17 15:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-17 15:13 [Xenomai-help] Re: [Xenomai-core] VxWorks skin improvement Alessandro Pittaluga
2006-03-17 15:40 ` Philippe Gerum [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-03-16 13:53 Philippe Gerum
2006-03-17 12:04 ` Niklaus Giger
2006-03-17 14:45   ` Philippe Gerum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=441AD867.8070506@domain.hid \
    --to=rpm@xenomai.org \
    --cc=xenomai@xenomai.org \
    --cc=xpit@domain.hid \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.