On 11/08/11 19:22, Gilles Chanteperdrix wrote:

> Please try and find the point in the latency test where the hang happens
> (it probably happens when calling a xenomai service, so, not
> sched_setscheduler), and then post the two disassemblies of this service
> implementation in libnative.so, the one compiled with 4.4, the other
> with 4.6.

The latency test hangs in rt_task_create() attached the function
disassemblies obtained with gcc-4.4 and gcc-4.6. Hope that this helps,
those are Aramaic to me.

Cheers,
-- 
Daniele
00004f90 <rt_task_create>:
    4f90:       55                      push   %ebp
    4f91:       31 c0                   xor    %eax,%eax
    4f93:       89 e5                   mov    %esp,%ebp
    4f95:       57                      push   %edi
    4f96:       56                      push   %esi
    4f97:       53                      push   %ebx
    4f98:       83 ec 7c                sub    $0x7c,%esp
    4f9b:       e8 17 d8 ff ff          call   27b7 <__i686.get_pc_thunk.bx>
    4fa0:       81 c3 24 17 00 00       add    $0x1724,%ebx
    4fa6:       53                      push   %ebx
    4fa7:       89 c3                   mov    %eax,%ebx
    4fa9:       b8 2b 02 00 02          mov    $0x200022b,%eax
    4fae:       cd 80                   int    $0x80
    4fb0:       5b                      pop    %ebx
    4fb1:       8b 45 08                mov    0x8(%ebp),%eax
    4fb4:       8d 75 a0                lea    -0x60(%ebp),%esi
    4fb7:       8b 7d 18                mov    0x18(%ebp),%edi
--
    4ff9:       75 11                   jne    500c <rt_task_create+0x7c>
    4ffb:       e8 98 d5 ff ff          call   2598 <getpagesize@plt>
    5000:       8d b8 00 40 00 00       lea    0x4000(%eax),%edi
    5006:       89 bb cc 00 00 00       mov    %edi,0xcc(%ebx)
    500c:       8b 55 10                mov    0x10(%ebp),%edx
    500f:       85 d2                   test   %edx,%edx
    5011:       75 07                   jne    501a <rt_task_create+0x8a>
    5013:       c7 45 90 00 80 00 00    movl   $0x8000,-0x70(%ebp)
    501a:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
    5021:       00 
    5022:       89 34 24                mov    %esi,(%esp)
    5025:       e8 ce d4 ff ff          call   24f8 
<pthread_attr_setinheritsched@plt>
    502a:       8b 45 14                mov    0x14(%ebp),%eax
    502d:       c7 45 e4 00 00 00 00    movl   $0x0,-0x1c(%ebp)
    5034:       85 c0                   test   %eax,%eax
    5036:       0f 8e bc 00 00 00       jle    50f8 <rt_task_create+0x168>
    503c:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
    5043:       00 
    5044:       89 34 24                mov    %esi,(%esp)
    5047:       e8 9c d4 ff ff          call   24e8 
<pthread_attr_setschedpolicy@plt>
    504c:       8b 45 14                mov    0x14(%ebp),%eax
    504f:       89 45 e4                mov    %eax,-0x1c(%ebp)
    5052:       8d 45 e4                lea    -0x1c(%ebp),%eax
    5055:       89 44 24 04             mov    %eax,0x4(%esp)
    5059:       89 34 24                mov    %esi,(%esp)
    505c:       e8 07 d5 ff ff          call   2568 
<pthread_attr_setschedparam@plt>
    5061:       8b 45 90                mov    -0x70(%ebp),%eax
    5064:       39 f8                   cmp    %edi,%eax
    5066:       73 02                   jae    506a <rt_task_create+0xda>
    5068:       89 f8                   mov    %edi,%eax
    506a:       89 44 24 04             mov    %eax,0x4(%esp)
    506e:       89 34 24                mov    %esi,(%esp)
    5071:       e8 82 d5 ff ff          call   25f8 
<pthread_attr_setstacksize@plt>
    5076:       8b 7d 18                mov    0x18(%ebp),%edi
    5079:       81 e7 00 04 00 00       and    $0x400,%edi
    507f:       89 7d 90                mov    %edi,-0x70(%ebp)
    5082:       74 5c                   je     50e0 <rt_task_create+0x150>
    5084:       8d 45 c4                lea    -0x3c(%ebp),%eax
    5087:       89 44 24 0c             mov    %eax,0xc(%esp)
    508b:       8d 83 cc e7 ff ff       lea    -0x1834(%ebx),%eax
    5091:       89 44 24 08             mov    %eax,0x8(%esp)
    5095:       8d 45 e0                lea    -0x20(%ebp),%eax
    5098:       89 74 24 04             mov    %esi,0x4(%esp)
    509c:       89 04 24                mov    %eax,(%esp)
    509f:       e8 e4 d5 ff ff          call   2688 <__real_pthread_create@plt>
    50a4:       85 c0                   test   %eax,%eax
    50a6:       75 28                   jne    50d0 <rt_task_create+0x140>
    50a8:       8b 7d 94                mov    -0x6c(%ebp),%edi
    50ab:       53                      push   %ebx
    50ac:       89 fb                   mov    %edi,%ebx
    50ae:       b8 2b 02 00 01          mov    $0x100022b,%eax
    50b3:       cd 80                   int    $0x80
    50b5:       5b                      pop    %ebx
    50b6:       85 c0                   test   %eax,%eax
    50b8:       89 c6                   mov    %eax,%esi
    50ba:       74 07                   je     50c3 <rt_task_create+0x133>
    50bc:       8b 4d 90                mov    -0x70(%ebp),%ecx
    50bf:       85 c9                   test   %ecx,%ecx
    50c1:       75 4d                   jne    5110 <rt_task_create+0x180>
    50c3:       83 c4 7c                add    $0x7c,%esp
    50c6:       89 f0                   mov    %esi,%eax
    50c8:       5b                      pop    %ebx
    50c9:       5e                      pop    %esi
    50ca:       5f                      pop    %edi
    50cb:       5d                      pop    %ebp
    50cc:       c3                      ret    
    50cd:       8d 76 00                lea    0x0(%esi),%esi
    50d0:       89 c6                   mov    %eax,%esi
    50d2:       83 c4 7c                add    $0x7c,%esp
    50d5:       f7 de                   neg    %esi
    50d7:       89 f0                   mov    %esi,%eax
    50d9:       5b                      pop    %ebx
    50da:       5e                      pop    %esi
    50db:       5f                      pop    %edi
    50dc:       5d                      pop    %ebp
    50dd:       c3                      ret    
--
    50f0:       eb 92                   jmp    5084 <rt_task_create+0xf4>
    50f2:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
    50f8:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
    50ff:       00 
    5100:       89 34 24                mov    %esi,(%esp)
    5103:       e8 e0 d3 ff ff          call   24e8 
<pthread_attr_setschedpolicy@plt>
    5108:       e9 45 ff ff ff          jmp    5052 <rt_task_create+0xc2>
    510d:       8d 76 00                lea    0x0(%esi),%esi
    5110:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
    5117:       00 
    5118:       8b 45 e0                mov    -0x20(%ebp),%eax
    511b:       89 04 24                mov    %eax,(%esp)
    511e:       e8 55 d5 ff ff          call   2678 <pthread_join@plt>
    5123:       83 c4 7c                add    $0x7c,%esp
    5126:       89 f0                   mov    %esi,%eax
    5128:       5b                      pop    %ebx
    5129:       5e                      pop    %esi
    512a:       5f                      pop    %edi
    512b:       5d                      pop    %ebp
    512c:       c3                      ret    
    512d:       90                      nop
    512e:       90                      nop
    512f:       90                      nop

00004b60 <rt_task_create>:
    4b60:       55                      push   %ebp
    4b61:       31 c0                   xor    %eax,%eax
    4b63:       57                      push   %edi
    4b64:       56                      push   %esi
    4b65:       53                      push   %ebx
    4b66:       83 ec 7c                sub    $0x7c,%esp
    4b69:       8b bc 24 9c 00 00 00    mov    0x9c(%esp),%edi
    4b70:       e8 82 dd ff ff          call   28f7 <__i686.get_pc_thunk.bx>
    4b75:       81 c3 c3 25 00 00       add    $0x25c3,%ebx
    4b7b:       53                      push   %ebx
    4b7c:       89 c3                   mov    %eax,%ebx
    4b7e:       b8 2b 02 00 02          mov    $0x200022b,%eax
    4b83:       cd 80                   int    $0x80
    4b85:       5b                      pop    %ebx
    4b86:       8b 84 24 90 00 00 00    mov    0x90(%esp),%eax
    4b8d:       8d 74 24 28             lea    0x28(%esp),%esi
--
    4be2:       75 10                   jne    4bf4 <rt_task_create+0x94>
    4be4:       e8 cf d9 ff ff          call   25b8 <getpagesize@plt>
    4be9:       05 00 40 00 00          add    $0x4000,%eax
    4bee:       89 83 cc 00 00 00       mov    %eax,0xcc(%ebx)
    4bf4:       8b 94 24 98 00 00 00    mov    0x98(%esp),%edx
    4bfb:       85 d2                   test   %edx,%edx
    4bfd:       75 05                   jne    4c04 <rt_task_create+0xa4>
    4bff:       bd 00 80 00 00          mov    $0x8000,%ebp
    4c04:       39 c5                   cmp    %eax,%ebp
    4c06:       73 02                   jae    4c0a <rt_task_create+0xaa>
    4c08:       89 c5                   mov    %eax,%ebp
    4c0a:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
    4c11:       00 
    4c12:       89 34 24                mov    %esi,(%esp)
    4c15:       e8 fe d8 ff ff          call   2518 
<pthread_attr_setinheritsched@plt>
    4c1a:       85 ff                   test   %edi,%edi
    4c1c:       c7 44 24 68 00 00 00    movl   $0x0,0x68(%esp)
    4c23:       00 
    4c24:       0f 8e a6 00 00 00       jle    4cd0 <rt_task_create+0x170>
    4c2a:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
    4c31:       00 
    4c32:       89 34 24                mov    %esi,(%esp)
    4c35:       e8 ce d8 ff ff          call   2508 
<pthread_attr_setschedpolicy@plt>
    4c3a:       89 7c 24 68             mov    %edi,0x68(%esp)
    4c3e:       8d 44 24 68             lea    0x68(%esp),%eax
    4c42:       89 44 24 04             mov    %eax,0x4(%esp)
    4c46:       89 34 24                mov    %esi,(%esp)
    4c49:       e8 3a d9 ff ff          call   2588 
<pthread_attr_setschedparam@plt>
    4c4e:       89 6c 24 04             mov    %ebp,0x4(%esp)
    4c52:       89 34 24                mov    %esi,(%esp)
    4c55:       e8 be d9 ff ff          call   2618 
<pthread_attr_setstacksize@plt>
    4c5a:       8b ac 24 a0 00 00 00    mov    0xa0(%esp),%ebp
    4c61:       81 e5 00 04 00 00       and    $0x400,%ebp
    4c67:       74 4f                   je     4cb8 <rt_task_create+0x158>
    4c69:       8d 44 24 4c             lea    0x4c(%esp),%eax
    4c6d:       89 44 24 0c             mov    %eax,0xc(%esp)
    4c71:       8d 83 18 d9 ff ff       lea    -0x26e8(%ebx),%eax
    4c77:       89 44 24 08             mov    %eax,0x8(%esp)
    4c7b:       8d 44 24 6c             lea    0x6c(%esp),%eax
    4c7f:       89 74 24 04             mov    %esi,0x4(%esp)
    4c83:       89 04 24                mov    %eax,(%esp)
    4c86:       e8 1d da ff ff          call   26a8 <__real_pthread_create@plt>
    4c8b:       89 c6                   mov    %eax,%esi
    4c8d:       f7 de                   neg    %esi
    4c8f:       85 c0                   test   %eax,%eax
    4c91:       75 19                   jne    4cac <rt_task_create+0x14c>
    4c93:       8b 7c 24 1c             mov    0x1c(%esp),%edi
    4c97:       53                      push   %ebx
    4c98:       89 fb                   mov    %edi,%ebx
    4c9a:       b8 2b 02 00 01          mov    $0x100022b,%eax
    4c9f:       cd 80                   int    $0x80
    4ca1:       5b                      pop    %ebx
    4ca2:       85 c0                   test   %eax,%eax
    4ca4:       89 c6                   mov    %eax,%esi
    4ca6:       74 04                   je     4cac <rt_task_create+0x14c>
    4ca8:       85 ed                   test   %ebp,%ebp
    4caa:       75 3c                   jne    4ce8 <rt_task_create+0x188>
    4cac:       83 c4 7c                add    $0x7c,%esp
    4caf:       89 f0                   mov    %esi,%eax
    4cb1:       5b                      pop    %ebx
    4cb2:       5e                      pop    %esi
    4cb3:       5f                      pop    %edi
    4cb4:       5d                      pop    %ebp
    4cb5:       c3                      ret    
    4cb6:       66 90                   xchg   %ax,%ax
    4cb8:       c7 44 24 04 01 00 00    movl   $0x1,0x4(%esp)
    4cbf:       00 
    4cc0:       89 34 24                mov    %esi,(%esp)
    4cc3:       e8 20 da ff ff          call   26e8 
<pthread_attr_setdetachstate@plt>
    4cc8:       eb 9f                   jmp    4c69 <rt_task_create+0x109>
    4cca:       8d b6 00 00 00 00       lea    0x0(%esi),%esi
    4cd0:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
    4cd7:       00 
    4cd8:       89 34 24                mov    %esi,(%esp)
    4cdb:       e8 28 d8 ff ff          call   2508 
<pthread_attr_setschedpolicy@plt>
    4ce0:       e9 59 ff ff ff          jmp    4c3e <rt_task_create+0xde>
    4ce5:       8d 76 00                lea    0x0(%esi),%esi
    4ce8:       8b 44 24 6c             mov    0x6c(%esp),%eax
    4cec:       c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp)
    4cf3:       00 
    4cf4:       89 04 24                mov    %eax,(%esp)
    4cf7:       e8 9c d9 ff ff          call   2698 <pthread_join@plt>
    4cfc:       83 c4 7c                add    $0x7c,%esp
    4cff:       89 f0                   mov    %esi,%eax
    4d01:       5b                      pop    %ebx
    4d02:       5e                      pop    %esi
    4d03:       5f                      pop    %edi
    4d04:       5d                      pop    %ebp
    4d05:       c3                      ret    
    4d06:       8d 76 00                lea    0x0(%esi),%esi
    4d09:       8d bc 27 00 00 00 00    lea    0x0(%edi,%eiz,1),%edi

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to