On 10/10/2012 09:38 AM, Thierry Bultel wrote:
> Hi Gilles,
> 
> Many thanks,
> The first patch does not work, the second does.
> I think the reason for 1st patch why is that in rtcan_virt, we have
> 
> rtdm_lock_get_irqsave(&rtcan_recv_list_lock, lock_ctx);
> rtdm_lock_get(&rtcan_socket_lock);
> 
> ...
> --->        rtcan_rcv(rx_dev, &skb);
> ....
> 
> rtdm_lock_put(&rtcan_socket_lock);
> rtdm_lock_put_irqrestore(&rtcan_recv_list_lock, lock_ctx);
> 
> and rtcan_rcv->rtcan_rcv_deliver->rtdm_sem_up(&sock->recv_sem);
> 
> thus the same re-scheduling stuff with interrupts locked.
> 
> Are you not not afraid of side effects with the second patch, 
> since you change the overall behaviour ?
> Won't you prefer a only locally modified rtcan_virt ?

We should ask Jan's opinion. In any case, if we adopt the second patch,
we might want to try and reduce the overhead of xnpod_unlock_sched.

-- 
                                            Gilles.

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to