In lk 2.5.3 the sg driver tries to set up both address
and page+offset in scatterlist entries. Unfortunately
asm-i386/pci.h's pci_map_sg() contains this check:
if (sg[i].address && sg[i].page)
BUG();
which kills that strategy when the sym53c8xx driver
uses pci_map_sg(). This patch has been posted earlier
for lk 2.5.3-pre5 and is still required for lk 2.5.3
Doug Gilbert
--- linux/drivers/scsi/sg.c Thu Jan 24 18:45:01 2002
+++ linux/drivers/scsi/sg.c3523 Thu Jan 24 20:53:28 2002
@@ -19,7 +19,7 @@
*/
#include <linux/config.h>
#ifdef CONFIG_PROC_FS
- static char sg_version_str[] = "Version: 3.5.23 (20020103)";
+ static char sg_version_str[] = "Version: 3.5.23 (20020124)";
#endif
static int sg_version_num = 30523; /* 2 digits for each component */
/*
@@ -76,7 +76,7 @@
#include <linux/version.h>
#endif /* LINUX_VERSION_CODE */
-#define SG_STILL_HAVE_ADDRESS_IN_SCATTERLIST
+/* #define SG_STILL_HAVE_ADDRESS_IN_SCATTERLIST */
#define SG_ALLOW_DIO_DEF 0
#define SG_ALLOW_DIO_CODE /* compile out be commenting this define */
I'm trying to profile an application
using the 'gprof' utility, and in particular
get timing information from the profile.
For some reason, the output from gprof
displays
"no time accumulated"
and I see no cumulative/self seconds
at all. However, all of the call counts
appear to be correct.
I suspect that the sampling rate using
by gprof/linux is simply two slow, given
the particular application I'm running.
Can anybody help me obtain timing information
from gprof and/or point me to a better
source for application profiling in general?
Thankyou for your support.
David Francheski
On Tue, Feb 05, 2002 at 03:20:47PM -0800, Dave Francheski wrote:
> I'm trying to profile an application
> using the 'gprof' utility, and in particular
> get timing information from the profile.
>
> For some reason, the output from gprof
> displays
>
> "no time accumulated"
>
> and I see no cumulative/self seconds
> at all. However, all of the call counts
> appear to be correct.
>
> I suspect that the sampling rate using
> by gprof/linux is simply two slow, given
> the particular application I'm running.
>
> Can anybody help me obtain timing information
> from gprof and/or point me to a better
> source for application profiling in general?
This is way OT for linux-kernel, but here goes:
If you application runs for a very short amount of time (say, less than a
second) the profile will probably be dominated by glibc startup, application
initializations and exit routines. It's useless. That you don't have
time accumulated is the least of your problems - even with the times, your
profile would be random numbers and random function names.
In order to profile *anything* - you should make sure that it runs for a while
(I would say minutes at least, but it depends very much on the complexity of
your application, eg. number of functions involved, and how their run-time is
affected by data input and the environment (timing-sensitive threaded
applications etc.)). You simply need a good data sample, otherwise any data
you have will be dominated by noise, and your profile will be random.
If it's a very small computational routine, simply put it in a
for (int i = 0; i != 100000; i++) { ... }
--
................................................................
: [email protected] : And I see the elder races, :
:.........................: putrid forms of man :
: Jakob ?stergaard : See him rise and claim the earth, :
: OZ9ABN : his downfall is at hand. :
:.........................:............{Konkhra}...............: