Go Back   nV News Forums > Linux Support Forums > NVIDIA FreeBSD

Newegg Daily Deals

Reply
 
Thread Tools
Old 06-19-09, 06:13 PM   #1
zingelman
Registered User
 
Join Date: Jun 2009
Posts: 3
Default x11perf == cpu bound or crash w/core

Using nvidia-driver-185.18.14 with latest ports xorg-server-1.6.1,1 on FreeBSD 6.3-RELEASE-p11 with a Quadro FX 570.

running 'x11perf -all -reps 1' will reliably lock the x server in a cpu bound tight loop inside _nv001109X () from /usr/local/lib/xorg/modules/drivers//nvidia_drv.so

running 'x11perf -range ftext -reps 1' will reliably result in a SIGSEGV, Segmentation fault at 0x29789cb0 in _nv000897X () from /usr/local/lib/xorg/modules/drivers//nvidia_drv.so

First case, in gdb:
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0x8234200 (LWP 100238)]
0x285676b3 in pthread_testcancel () from /lib/libpthread.so.2
(gdb) bt
#0 0x285676b3 in pthread_testcancel () from /lib/libpthread.so.2
#1 0x28554ca5 in sigaction () from /lib/libpthread.so.2
#2 0x28554f91 in sigaction () from /lib/libpthread.so.2
#3 0x28555770 in sigaction () from /lib/libpthread.so.2
#4 0x2855591c in sigaction () from /lib/libpthread.so.2
#5 0x2855ffc4 in pthread_mutexattr_init () from /lib/libpthread.so.2
#6 0x28658450 in ?? ()
(gdb) thread 2
[Switching to thread 2 (Thread 0x8234000 (LWP 100245))]#0 0x2978c31d in _nv001109X ()
from /usr/local/lib/xorg/modules/drivers//nvidia_drv.so
(gdb) bt
#0 0x2978c31d in _nv001109X () from /usr/local/lib/xorg/modules/drivers//nvidia_drv.so
#1 0x29b48000 in ?? ()
#2 0x00000280 in ?? ()
#3 0x08ab9074 in ?? ()
#4 0x29b63c17 in ?? ()
#5 0x00000000 in ?? ()
#6 0x39aab000 in ?? ()
#7 0x00000003 in ?? ()
#8 0x28369df0 in __JCR_LIST__ () from /usr/local/lib/libpixman-1.so.9
#9 0x00000114 in ?? ()
#10 0x0000012a in ?? ()
#11 0xbfbfe8c8 in ?? ()
#12 0x28347d56 in pixman_rasterize_edges_accessors () from /usr/local/lib/libpixman-1.so.9
Error accessing memory address 0x3: Bad address.


Second case in gdb:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x8234000 (LWP 100246)]
0x29789cb0 in _nv000897X () from /usr/local/lib/xorg/modules/drivers//nvidia_drv.so
(gdb) bt
#0 0x29789cb0 in _nv000897X () from /usr/local/lib/xorg/modules/drivers//nvidia_drv.so
(gdb) thread 3
[Switching to thread 3 (Thread 0x8234200 (LWP 100187))]#0 0x285675f3 in pthread_testcancel ()
from /lib/libpthread.so.2
(gdb) bt
#0 0x285675f3 in pthread_testcancel () from /lib/libpthread.so.2
#1 0x2855ffc4 in pthread_mutexattr_init () from /lib/libpthread.so.2
#2 0x28658450 in ?? ()

Thanks.
zingelman is offline   Reply With Quote
Old 06-21-09, 06:15 PM   #2
rnejdl
Registered User
 
Join Date: Nov 2007
Location: Dallas, TX
Posts: 96
Default Re: x11perf == cpu bound or crash w/core

I hadn't used that tool before so I gave it run and ran into the same thing but on stable branch:

hw.nvidia.version: NVIDIA UNIX x86 Kernel Module 180.60 Sat May 9 15:58:19 PDT 2009

FreeBSD tethys.ringofsaturn.com 7.2-STABLE FreeBSD 7.2-STABLE #2: Wed Jun 10 21:30:27 CDT 2009 root@tethys.ringofsaturn.com:/usr/obj/usr/src/sys/SATURN i386

xorg-7.4_2

I had to remotely log in and kill the X server to get the system responding.

Rusty Nejdl
http://networking.ringofsaturn.com
rnejdl is offline   Reply With Quote
Old 06-22-09, 03:21 PM   #3
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: x11perf == cpu bound or crash w/core

Thanks for reporting this. Can you please identify exactly which x11perf tests cause a problem? There's a known X server bug that causes it to crash on the putimagexy tests, so please avoid those.
AaronP is offline   Reply With Quote
Old 06-24-09, 04:17 PM   #4
zingelman
Registered User
 
Join Date: Jun 2009
Posts: 3
Default Re: x11perf == cpu bound or crash w/core

ok... thanks for the hint... it turns out I can run all the tests except shmputxy10, shmputxy100 & shmputxy500...

x11perf -range dot,shmput500 -reps 1
x11perf -range getimage10,ucirculate -reps 1

run with no problems. (Looks like I was just too impatient when I claimed the infinite loop... just did not expect the xserver to keep working on the long requests after x11perf was killed.)

You mention the shmputxy10 crash is a known bug... can you by any chance point me at patches for it?

Thanks.
zingelman is offline   Reply With Quote
Old 06-25-09, 11:43 AM   #5
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: x11perf == cpu bound or crash w/core

I don't know that there are any. I believe it's still broken in git.
AaronP is offline   Reply With Quote
Old 07-01-09, 06:06 PM   #6
arundel
Registered User
 
Join Date: May 2008
Posts: 36
Default Re: x11perf == cpu bound or crash w/core

since some test take very long to finish: what's causing it? a bug in x11perf oder bad driver performance?

i ran the following script:

Code:
#!/bin/sh

x11perf -range dot,shmput500 -reps 1 > x11perf.log && \
x11perf -range getimage10,ucirculate -reps 1 >> x11perf.log
and then did
Code:
cat x11perf.log |grep [1-9]\\.[0-9]*\ msec
to check for tests which take longer than 1 second. here're the results:

Quote:
1000 reps @ 16.0983 msec ( 62.1/sec): Fill 100x100 aa trap
5000 trep @ 3.3349 msec ( 300.0/sec): Fill 100x100 aa trap
1000 reps @ 106.5838 msec ( 9.4/sec): Fill 300x300 aa trap
5000 trep @ 21.9402 msec ( 45.6/sec): Fill 300x300 aa trap
1000 reps @ 8.8170 msec ( 113.0/sec): Fill 2x100 aa trap
5000 trep @ 1.8519 msec ( 540.0/sec): Fill 2x100 aa trap
1000 reps @ 26.3980 msec ( 37.9/sec): Fill 2x300 aa trap
5000 trep @ 5.4914 msec ( 182.0/sec): Fill 2x300 aa trap
1000 reps @ 1.7980 msec ( 556.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.8089 msec ( 553.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.8035 msec ( 554.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.8044 msec ( 554.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.8006 msec ( 555.0/sec): Fill 300x300 aa trapezoid
5000 trep @ 1.8031 msec ( 555.0/sec): Fill 300x300 aa trapezoid
4 reps @ 1.1542 msec ( 866.0/sec): Copy 10x10 n-bit deep plane
4 reps @ 1.5773 msec ( 634.0/sec): Copy 100x100 n-bit deep plane
4 reps @ 11.4637 msec ( 87.2/sec): Copy 500x500 n-bit deep plane
4 reps @ 1.0428 msec ( 959.0/sec): Copy 500x500 n-bit deep plane
4 reps @ 1.0497 msec ( 953.0/sec): Copy 500x500 n-bit deep plane
4 reps @ 1.0533 msec ( 949.0/sec): Copy 500x500 n-bit deep plane
4 reps @ 1.0402 msec ( 961.0/sec): Copy 500x500 n-bit deep plane
20 trep @ 3.1300 msec ( 319.0/sec): Copy 500x500 n-bit deep plane
4 reps @ 4.4335 msec ( 226.0/sec): PutImage 500x500 square
4 reps @ 4.5278 msec ( 221.0/sec): PutImage 500x500 square
4 reps @ 4.7533 msec ( 210.0/sec): PutImage 500x500 square
4 reps @ 4.5423 msec ( 220.0/sec): PutImage 500x500 square
4 reps @ 4.1072 msec ( 243.0/sec): PutImage 500x500 square
20 trep @ 4.4728 msec ( 224.0/sec): PutImage 500x500 square
4 reps @ 9.3920 msec ( 106.0/sec): PutImage XY 500x500 square
4 reps @ 7.5972 msec ( 132.0/sec): PutImage XY 500x500 square
4 reps @ 8.3945 msec ( 119.0/sec): PutImage XY 500x500 square
4 reps @ 7.8963 msec ( 127.0/sec): PutImage XY 500x500 square
4 reps @ 7.5998 msec ( 132.0/sec): PutImage XY 500x500 square
20 trep @ 8.1760 msec ( 122.0/sec): PutImage XY 500x500 square
4 reps @ 1.0382 msec ( 963.0/sec): ShmPutImage 500x500 square
4 reps @ 11.9260 msec ( 83.9/sec): GetImage 500x500 square
4 reps @ 8.3345 msec ( 120.0/sec): GetImage 500x500 square
4 reps @ 5.9450 msec ( 168.0/sec): GetImage 500x500 square
4 reps @ 8.2495 msec ( 121.0/sec): GetImage 500x500 square
20 trep @ 8.9744 msec ( 111.0/sec): GetImage 500x500 square
4 reps @ 3.1260 msec ( 320.0/sec): GetImage XY 10x10 square
4 reps @ 2.7713 msec ( 361.0/sec): GetImage XY 10x10 square
4 reps @ 2.7220 msec ( 367.0/sec): GetImage XY 10x10 square
4 reps @ 2.8043 msec ( 357.0/sec): GetImage XY 10x10 square
4 reps @ 3.1442 msec ( 318.0/sec): GetImage XY 10x10 square
20 trep @ 2.9135 msec ( 343.0/sec): GetImage XY 10x10 square
4 reps @ 237.6265 msec ( 4.2/sec): GetImage XY 100x100 square
4 reps @ 237.9380 msec ( 4.2/sec): GetImage XY 100x100 square
4 reps @ 238.2840 msec ( 4.2/sec): GetImage XY 100x100 square
4 reps @ 239.5760 msec ( 4.2/sec): GetImage XY 100x100 square
4 reps @ 239.5172 msec ( 4.2/sec): GetImage XY 100x100 square
20 trep @ 238.5883 msec ( 4.2/sec): GetImage XY 100x100 square
4 reps @ 5916.8408 msec ( 0.2/sec): GetImage XY 500x500 square
4 reps @ 5913.5307 msec ( 0.2/sec): GetImage XY 500x500 square
4 reps @ 5924.4620 msec ( 0.2/sec): GetImage XY 500x500 square
4 reps @ 5934.2222 msec ( 0.2/sec): GetImage XY 500x500 square
4 reps @ 5911.6782 msec ( 0.2/sec): GetImage XY 500x500 square
4 reps @ 276.7995 msec ( 3.6/sec): Composite 500x500 from window to window
4 reps @ 276.1380 msec ( 3.6/sec): Composite 500x500 from window to window
4 reps @ 276.9962 msec ( 3.6/sec): Composite 500x500 from window to window
4 reps @ 278.8300 msec ( 3.6/sec): Composite 500x500 from window to window
4 reps @ 279.2230 msec ( 3.6/sec): Composite 500x500 from window to window
20 trep @ 277.5974 msec ( 3.6/sec): Composite 500x500 from window to window
cheers.
alex
arundel is offline   Reply With Quote
Old 07-01-09, 09:57 PM   #7
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: x11perf == cpu bound or crash w/core

Trapezoids are not fully accelerated for a number of reasons, though we might accelerate them in the future. The planar copies aren't a particularly fast operation and are mostly useful for 8-bit PseudoColor rendering, which not many apps use these days. The XYPixmap operations use planar image formats that no modern hardware supports and no applications use, so you can safely ignore those results.

The win-to-win composite test uses composites where the source and destination overlap, which are not currently accelerated and probably won't be in the foreseeable future. Overlapping composites, while valid, are almost certainly a bug in a real application so I would say that x11perf is testing something that applications would probably never want to do.
AaronP is offline   Reply With Quote
Old 07-16-10, 05:33 PM   #8
arundel
Registered User
 
Join Date: May 2008
Posts: 36
Thumbs up Re: x11perf == cpu bound or crash w/core

hi there. just wanted to report two things running

NVIDIA UNIX x86_64 Kernel Module 256.35 Wed Jun 16 18:28:33 PDT 2010 on a recent HEAD:

1. the putimagexy tests don't seem to crash anymore in X.org 7.5

2. the driver has improved in speed. simply compare these results to my previous post

Quote:
1000 reps @ 1.0686 msec ( 936.0/sec): Fill 300x300 aa trap with 4 bit alpha
1000 reps @ 1.0747 msec ( 931.0/sec): Fill 300x300 aa trap with 4 bit alpha
1000 reps @ 1.0684 msec ( 936.0/sec): Fill 300x300 aa trap with 4 bit alpha
1000 reps @ 1.0687 msec ( 936.0/sec): Fill 300x300 aa trap with 4 bit alpha
1000 reps @ 1.0685 msec ( 936.0/sec): Fill 300x300 aa trap with 4 bit alpha
5000 trep @ 1.0698 msec ( 935.0/sec): Fill 300x300 aa trap with 4 bit alpha
1000 reps @ 1.6407 msec ( 609.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.6392 msec ( 610.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.6388 msec ( 610.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.6388 msec ( 610.0/sec): Fill 300x300 aa trapezoid
1000 reps @ 1.6402 msec ( 610.0/sec): Fill 300x300 aa trapezoid
5000 trep @ 1.6395 msec ( 610.0/sec): Fill 300x300 aa trapezoid
4 reps @ 7.6285 msec ( 131.0/sec): Copy 500x500 n-bit deep plane
20 trep @ 2.2640 msec ( 442.0/sec): Copy 500x500 n-bit deep plane
4 reps @ 6.8327 msec ( 146.0/sec): PutImage 500x500 square
4 reps @ 6.2603 msec ( 160.0/sec): PutImage 500x500 square
4 reps @ 6.9755 msec ( 143.0/sec): PutImage 500x500 square
4 reps @ 7.9075 msec ( 126.0/sec): PutImage 500x500 square
4 reps @ 7.9718 msec ( 125.0/sec): PutImage 500x500 square
20 trep @ 7.1895 msec ( 139.0/sec): PutImage 500x500 square
4 reps @ 9.5325 msec ( 105.0/sec): PutImage XY 500x500 square
4 reps @ 9.4187 msec ( 106.0/sec): PutImage XY 500x500 square
4 reps @ 9.2510 msec ( 108.0/sec): PutImage XY 500x500 square
4 reps @ 9.4917 msec ( 105.0/sec): PutImage XY 500x500 square
4 reps @ 8.9207 msec ( 112.0/sec): PutImage XY 500x500 square
20 trep @ 9.3230 msec ( 107.0/sec): PutImage XY 500x500 square
4 reps @ 1.1778 msec ( 849.0/sec): ShmPutImage 500x500 square
4 reps @ 1.0913 msec ( 916.0/sec): ShmPutImage 500x500 square
20 trep @ 1.0499 msec ( 952.0/sec): ShmPutImage 500x500 square
4 reps @ 7.0310 msec ( 142.0/sec): ShmPutImage XY 500x500 square
4 reps @ 6.6315 msec ( 151.0/sec): ShmPutImage XY 500x500 square
4 reps @ 6.2830 msec ( 159.0/sec): ShmPutImage XY 500x500 square
4 reps @ 6.2642 msec ( 160.0/sec): ShmPutImage XY 500x500 square
4 reps @ 6.2550 msec ( 160.0/sec): ShmPutImage XY 500x500 square
20 trep @ 6.4930 msec ( 154.0/sec): ShmPutImage XY 500x500 square
4 reps @ 12.0262 msec ( 83.2/sec): GetImage 500x500 square
4 reps @ 18.4190 msec ( 54.3/sec): GetImage 500x500 square
4 reps @ 15.0322 msec ( 66.5/sec): GetImage 500x500 square
4 reps @ 13.8475 msec ( 72.2/sec): GetImage 500x500 square
20 trep @ 13.9635 msec ( 71.6/sec): GetImage 500x500 square
4 reps @ 4.1028 msec ( 244.0/sec): GetImage XY 100x100 square
4 reps @ 4.0077 msec ( 250.0/sec): GetImage XY 100x100 square
4 reps @ 4.0057 msec ( 250.0/sec): GetImage XY 100x100 square
4 reps @ 4.0165 msec ( 249.0/sec): GetImage XY 100x100 square
4 reps @ 4.2307 msec ( 236.0/sec): GetImage XY 100x100 square
20 trep @ 4.0727 msec ( 246.0/sec): GetImage XY 100x100 square
4 reps @ 118.5900 msec ( 8.4/sec): GetImage XY 500x500 square
4 reps @ 119.0935 msec ( 8.4/sec): GetImage XY 500x500 square
4 reps @ 123.3123 msec ( 8.1/sec): GetImage XY 500x500 square
4 reps @ 122.0823 msec ( 8.2/sec): GetImage XY 500x500 square
4 reps @ 121.0032 msec ( 8.3/sec): GetImage XY 500x500 square
4 reps @ 265.4510 msec ( 3.8/sec): Composite 500x500 from window to window
4 reps @ 265.4500 msec ( 3.8/sec): Composite 500x500 from window to window
4 reps @ 265.9615 msec ( 3.8/sec): Composite 500x500 from window to window
4 reps @ 265.3902 msec ( 3.8/sec): Composite 500x500 from window to window
4 reps @ 265.5883 msec ( 3.8/sec): Composite 500x500 from window to window
20 trep @ 265.5682 msec ( 3.8/sec): Composite 500x500 from window to window
for testing i used almost the same script like beforehand. the only difference this time was that i didn't exclude the putimagexy tests.

cheers.
arundel is offline   Reply With Quote

Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:49 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.