Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 May 2004 11:27:22 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/conf files.i386 src/sys/i386/i386 apic_vector.s exception.s src/sys/i386/isa atpic_vector.s
Message-ID:  <200405271127.22393.jhb@FreeBSD.org>
In-Reply-To: <20040527114013.X8390@gamplex.bde.org>
References:  <200405260743.i4Q7hg3t059231@repoman.freebsd.org> <200405261032.49453.jhb@FreeBSD.org> <20040527114013.X8390@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 26 May 2004 09:49 pm, Bruce Evans wrote:
> On Wed, 26 May 2004, John Baldwin wrote:
> > On Wednesday 26 May 2004 03:43 am, Bruce Evans wrote:
> > > bde         2004/05/26 00:43:41 PDT
> > >
> > >   FreeBSD src repository
> > >
> > >   Modified files:
> > >     sys/conf             files.i386
> > >     sys/i386/i386        apic_vector.s exception.s
> > >     sys/i386/isa         atpic_vector.s
> > >   Log:
> > >   MFamd64:
> > >
> > >   Fixed profiling of trap, syscall and interrupt handlers and some
> > >   ordinary functions, essentially by backing out half of rev.1.106 of
> > >   i386/exception.s.  The handlers must be between certain labels for
> > >   the purposes of profiling, and this was broken by scattering them in
> > >   separately compiled .s files, especially for ordinary functions that
> > >   ended up between the labels.  Merge the files by #including them as
> > >   before, except with different pathnames and better comments and
> > >   organization.  Changes to the scattered files are minimal -- just
> > >   move the labels to the file that does the #includes.
> >
> > Oh well, there will never be an apic.ko then.
>
> Including files shouldn't affect modules, since they are only included
> when the option is only configured as a module.  apic.ko would just not
> work right with profiling, the same as now.  To work right, it would
> somehow have to arrange that its symbols are correctly classified by
> mcount(), perhaps by putting them in a special subsection of the text
> section.  Does kldload(2) support this?  I can't see where it reads
> ldscript.${MACHINE}.

I was possibly going to have it do a runtime call to add 'bintr2' and 'eintr2' 
to the list of regions mcount.c checked.  Howver, apic_vector.s belongs in 
apic.ko, so including it in execption.s does kind of break things.  One could 
just always include apic_vector.s I guess and not have it be part of apic.ko.  
That would work w/o pessimizing profiling as much as etrap and bintr2, eintr2 
would have.

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405271127.22393.jhb>