[Prev][Next][Index][Thread]
Re: OSKit profiling problems
> From: Britt Bolen <bolen@eecs.harvard.edu>
> Subject: OSKit profiling problems
>
> We're trying to profile a kernel built against oskit-19991124. We've
> built a profiled version of all the libraries etc, and have been able to
> link in oskit-gprof and got past all the voodoo in the library order in
> the Makefiles to get it to work, but now when we boot up the kernel it
> immediately assertion fails
>
> dev/x86/pic.c:35 irq!= IRQ_RTC,
Sorry for the delay. I guess all of us thought someone else was going to
take care of it. Anyway, try applying this patch. Cd into your oskit source
directory and do "patch < thisdiff", where the diff is appended below.
Then rebuild and install your oskit.
Lbs
---
Index: dev/x86/irq.c
===================================================================
RCS file: /usr/lsrc/flux/CVS/oskit/dev/x86/irq.c,v
retrieving revision 1.31
diff -c -r1.31 irq.c
*** irq.c 1999/11/09 23:38:20 1.31
--- irq.c 2000/01/13 17:43:20
***************
*** 19,24 ****
--- 19,25 ----
#include <oskit/x86/proc_reg.h>
#include <oskit/x86/eflags.h>
#include <oskit/x86/pc/base_irq.h>
+ #include <oskit/x86/pc/irq_list.h>
#include <stdio.h>
/* linked list of functions for an IRQ */
***************
*** 88,94 ****
if (irq < 0 || irq >= BASE_IRQ_COUNT)
return OSKIT_EINVAL;
!
/*
* This is a blocking operation,
* so to avoid races we need to do it
--- 89,99 ----
if (irq < 0 || irq >= BASE_IRQ_COUNT)
return OSKIT_EINVAL;
! #ifdef GPROF
! /* Profiling steals the RTC, so do not let someone have it. */
! if (irq == IRQ_RTC)
! return OSKIT_EBUSY;
! #endif
/*
* This is a blocking operation,
* so to avoid races we need to do it