Messages in this thread | | | Subject | Re: 2.5.41 isofs patch to avoid "bad: scheduling while atomic!" | From | Robert Love <> | Date | 10 Oct 2002 17:25:15 -0400 |
| |
On Thu, 2002-10-10 at 13:24, Sylvain Pasche wrote:
> - tmpname = (char *) __get_free_page(GFP_KERNEL); > + tmpname = (char *) __get_free_page(GFP_KERNEL | GFP_ATOMIC); > if (!tmpname) > return -ENOMEM; > tmpde = (struct iso_directory_record *) (tmpname+1024);
You just want GFP_ATOMIC, not the OR of both.
I do not see where the lock is in the call path, though. The lock_kernel() is not counted.
I also wonder why the __might_sleep was just triggered but the schedule() check was? Are you sure this is the culprit? By the looks of it, I would think it is somewhere north of __might_sleep in the stack trace.
Robert Love
- 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/
| |