lk 2.5.3 scsi generic (sg) driver
Subsystems (2)
PATCH 1/1 lk 2.5.3 scsi generic (sg) driver
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
drivers/scsi/sg.c3523 Thu Jan 24 20:53:28 2002 renamed from drivers/scsi/sg.c Thu Jan 24 18:45:01 2002 +2 -2
@@ -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 */
gprof / profiling support ?
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
Re: gprof / profiling support ?
In reply to Douglas GilbertQuoted 13 lines · Dave Francheski
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.
Quoted 7 lines
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++) { ... }
Signature · 6 lines
................................................................ : [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}...............: