On Thu, 2003-12-04 at 11:48, Mike A. Harris wrote:
THe first step to me, would be to oprofile things, and find where the bottleneck is, then try to determine why.
Good idea, but beware that the gprof output was rather confusing when I first saw this problem, the time would appear to be spent in random 3D driver functions when in fact it seemed to be waiting for the hardware most of the time. oprofile may do a better job there, but you've been warned.
Actually I did use oprofile when I did the AGP 1x and PCI gart tests (with an 9000pro AGP and forced PCI mode). I didn't submit the results because they looked uninteresting - glxgears still didn't use really much cpu time, it just was 10 times slower...
oprofile agp 1x (not sure which parameters would be best to use with oprofile though):
CPU: Athlon, speed 1413.22 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 6928
98
vma samples % image name app name symbol name
0014b910 2737 13.5730 r200_dri.so glxgears emit_vec12
00148610 980 4.8599 r200_dri.so glxgears r200_emit_state_list
b010b250 881 4.3690 vmlinux vmlinux mask_and_ack_8259A
000755f0 532 2.6382 libc.so.6 glxgears memcpy
00011620 514 2.5490 radeon.o glxgears radeon_emit_vectors
000103d0 477 2.3655 radeon.o glxgears radeon_cp_cmdbuf
0000f990 436 2.1622 radeon.o glxgears radeon_emit_packets
00000000 406 2.0134 libqt-mt.so.3.1.2 kdeinit (no symbols)
b01bceac 389 1.9291 vmlinux vmlinux acpi_processor_idle
b01a2dc8 353 1.7506 vmlinux vmlinux acpi_os_read_port
0013af20 311 1.5423 r200_dri.so glxgears check_tcl_light
0013ac40 305 1.5125 r200_dri.so glxgears R200_DB_STATECHANGE
00004e30 254 1.2596 radeon.o glxgears radeon_ioctl
0000fdd0 219 1.0860 radeon.o glxgears radeon_emit_packet3_cliprect
00010ef0 214 1.0612 radeon.o glxgears radeon_check_and_fixup_packet3
00070f30 213 1.0563 r200_dri.so glxgears _mesa_compute_light_positions
b010b1a0 211 1.0464 vmlinux vmlinux enable_8259A_irq
00011450 203 1.0067 radeon.o glxgears radeon_emit_scalars2
0010de50 199 0.9869 r200_dri.so glxgears _tnl_run_pipeline
00106770 193 0.9571 r200_dri.so glxgears execute_compiled_cassette
0013af70 185 0.9174 r200_dri.so glxgears check_tcl_ucp
0014bc20 178 0.8827 r200_dri.so glxgears r200EmitArrays
00138220 176 0.8728 r200_dri.so glxgears update_light
b010734c 175 0.8678 vmlinux glxgears system_call
00151e20 162 0.8034 r200_dri.so glxgears r200_run_tcl_render
PCI gart:
CPU: Athlon, speed 1413.22 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 6928
98
vma samples % image name app name symbol name
0014b910 788 16.4888 r200_dri.so glxgears emit_vec12
b010b250 241 5.0429 vmlinux vmlinux mask_and_ack_8259A
00000000 174 3.6409 libqt-mt.so.3.1.2 kdeinit (no symbols)
b01bceac 129 2.6993 vmlinux vmlinux acpi_processor_idle
00148610 101 2.1134 r200_dri.so glxgears r200_emit_state_list
00011620 94 1.9669 radeon.o glxgears radeon_emit_vectors
b010b1a0 76 1.5903 vmlinux vmlinux enable_8259A_irq
000755f0 67 1.4020 libc.so.6 glxgears memcpy
000103d0 62 1.2973 radeon.o glxgears radeon_cp_cmdbuf
b010c320 59 1.2346 vmlinux vmlinux timer_interrupt
0000fdd0 58 1.2136 radeon.o glxgears radeon_emit_packet3_cliprect
0000f990 53 1.1090 radeon.o glxgears radeon_emit_packets
b01a2dc8 39 0.8161 vmlinux vmlinux acpi_os_read_port
0013af20 35 0.7324 r200_dri.so glxgears check_tcl_light
0013ac40 33 0.6905 r200_dri.so glxgears R200_DB_STATECHANGE
00070f30 31 0.6487 r200_dri.so glxgears _mesa_compute_light_positions
00011450 30 0.6277 radeon.o glxgears radeon_emit_scalars2
b010734c 29 0.6068 vmlinux glxgears system_call
b0273c40 28 0.5859 vmlinux XFree86 __rdtsc_delay
00010ef0 27 0.5650 radeon.o glxgears radeon_check_and_fixup_packet3
00046dc0 25 0.5231 r200_dri.so glxgears execute_list
Though it's strange there are much less samples in the PCI gart case, AFAIR I ran it for about the same time (50s?), considered it ran much slower this might to be expected?
Roland
------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id78&alloc_id371&op=click _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel
