On Sat, 6 Jul 2002, Steven Seeger wrote:
> The page fault is happening in __wake_up_common() On the 3rd time through
> the list_for_each() block, a wait_queue_t *curr = list_entry(tmp,
> wait_queue_t, task_list); line returns a curr of 0xFFFFFFF8 and it page
> faults on the p = curr->task line because obviously that's a bad address.
> (page faults on 0xFFFFFFFC)
>
> I'm sorry to write to both lists but neither has a lot of activity and I'm
> hoping somebody on one of the lists could help.
Hi,
I've already encountered a similar problem before, binutils was
producing bad data for the initialization of the waitq. This was with
binutils 2.11.92.0.10.
I worked around the problem by simply moving
DECLARE_WAIT_QUEUE_HEAD(kswapd_wait);
to the beginning of the mm/vmscan.c file, however, you should
consider upgrading your toolchain if you're using the same version of
binutils I used.
references:
http://www.spinics.net/lists/mips/msg09771.html
http://www.spinics.net/lists/mips/msg09210.html
regards,
Vivien Chappelier.
|