lkml.org 
[lkml]   [1998]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.0.33 oops, non-fatal, comments anyone? [EIP traced]
On Wed, 25 Mar 1998, Chris Evans wrote:

>Mar 25 02:56:55 ferret kernel: EIP: 0010:[schedule+384/652]

The Oops is in goodness() (linux/kernel/sched.c) in the underlined line:

static inline int goodness(struct task_struct * p, struct task_struct *
prev, int this_cpu)
{
int weight;

#ifdef __SMP__
/* We are not permitted to run a task someone else is running */
if (p->processor != NO_PROC_ID)
return -1000;
#ifdef PAST_2_0
/* This process is locked to a processor group */
if (p->processor_mask && !(p->processor_mask & (1<<this_cpu))
return -1000;
#endif
#endif

/*
* Realtime process, select the first one on the
* runqueue (taking priorities within processes
* into account).
*/
if (p->policy != SCHED_OTHER)
^^^^^^^^^^^^^^^^^^^^^^^^
return 1000 + p->rt_priority;

The p->policy doesn' t exists (the p pointer is corrupted). It shouldn' t
be NULL since the Oops say "general protection: 0000" and not NULL pointer
derefence of something similar... Am I right here?

The interesting thing is that in patch-2.0.30 happen this:

- if (p->counter > current->counter + 3)
+ if (p->policy != SCHED_OTHER || p->counter > current->counter + 3)

2.0.29 should 100% Oops too ;-).........

>Mar 25 02:56:56 ferret kernel: Call Trace: [do_select+133/484]
>[do_select+397/484] [sys_select+387/596] [udp_rcv+956/976]
>[ip_rcv+1091/1396] [old_select+63/80] [system_call+85/124]

I will continue to trace the Oops tomorrow (or when I will have some
time.....).

Andrea[s] Arcangeli



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:41    [W:0.070 / U:1.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site