Disable task rescheduling

Garcia Jérémie GARCIAJ at 3il.fr
Mon Jun 20 23:12:03 EST 2005


Hi everybody, as teh object of this mail tells, I'd like to know if there is an easy way
to disable task rescheduling in the kernel.
I explain: I'm writing a device driver and so, I use the ioctl.
In one of my ioctl's, I'd like to have a non-interruptible part processed.

int Hscx_ioctl(        struct inode *inode,
                       struct file *file,
                       unsigned int ioctl_num,     /* Number of the ioctl to call    */
                       unsigned long argP)         /* Paramater to pass to the ioctl */
{
   [...]
   switch(ioctl_num)
   {
         case GET_LIST:
         
             disable_task_rescheduling();  // what to use???
             disable_interrupt();          // spin_lock_irqsave should be enough isn't it?

             execute_critical_code();

             enable_task_rescheduling();   // what to use???
             enable_interrupt();           // spin_unlock_irqrestore should be enough isn't it?
             break;
   }
}

Could you give me a tip cause I've browsed the web and technical books and I can't find a solution.
Tks a lot



More information about the Linuxppc-dev mailing list