Re: [BUG] Scheduling in interrup

From: Hammond, Jean-François (Jean-Francois.Hammond@mindready.com)
Date: Tue Sep 04 2001 - 16:20:52 EST


Hi,

>o Are you attempting to access paged RAM?

I am using kmalloc to reserve my memory.
kmalloc as the options GFP_KERNEL and GFP_DMA.
I am not using any command to reserve memory in
the interrupt handler.

>o Are you accessing anything that sleeps?

Not in the interrupt handler.

>o Are you enabling interrupts without protecting against
        re-entry first?

I am not sure what do you mean, but I am attaching the interrupt
handler with the function request_irq with the option SA_INTERRUPT &
SA_SHIRQ.
Does the kernel prevent re-entry of the interrupt handler ?

I look in the function schedule :

asmlinkage void schedule(void)
{
        struct schedule_data * sched_data;
        struct task_struct *prev, *next, *p;
        struct list_head *tmp;
        int this_cpu, c;

        if (!current->active_mm) BUG();
need_resched_back:
        prev = current;
        this_cpu = prev->processor;

        if (in_interrupt())
                goto scheduling_in_interrupt;

<...>

scheduling_in_interrupt:
        printk("Scheduling in interrupt\n");
        BUG(); <--------------------------------This is the line 706. -->
This is my problem <--
        return;
}

Do you have any idea how this could happen ?

Thanks,

Jean-François Hammond .

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 07 2001 - 21:00:28 EST