robert165 wrote: > Hi, > > > > ÔÚ2010-03-18 00:19:47£¬"Philippe Gerum" дµÀ£º >> On Wed, 2010-03-17 at 22:07 +0800, robert165 wrote: >>> Hi everyone! >>> >>> I'm writing a gpio driver in RTDM. I start it with the demo "Hard real >>> time RTDM driver skeleton v1.1" of Jan Kiszka. >>> If I used rtdm_task_sleep in rt_ioctrl function, it return that >>> "Xenomai: assertion failed at kernel/xenomai/skins/rtdm/drvlib.c:372 >>> (!xnpod_unblockable_p())" when running. >>> It is said that rtdm_task_sleep can be called from Kernel-based task. >>> Why I can't use it in my driver. Optionally, I can do this in >>> user-space by periodic calling the driver, but it seems slower than in >>> kernel space. >> I'm puzzled: what does "slower" mean, regarding what operation? > I am sorry, I means is it more effective if doing things in kernel space. I think when periodic calling driver in user-space, it may spent more in context switching. If you really depend on this minor difference, you are already designing with a too small safety margin. Have you measured the differences and compared them to your requirements? Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux