Error compiling FreeBSD-Stable with MFC'ed iconv locking

2009-02-14 Thread Jens Rehsack
Hi John,

after I updated my system (-STABLE) I received following compilation error
while building the kernel (having ICONV built in):

cc -c -O2 -frename-registers -pipe -fno-strict-aliasing -march=nocona
-std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-Wno-pointer-sign -fformat-extensions -nostdinc  -I. -I/usr/src/sys
-I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000  -fno-omit-frame-pointer -mcmodel=kernel
-mno-red-zone  -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow
-msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Werror
/usr/src/sys/libkern/iconv.c
/usr/src/sys/libkern/iconv.c: In function 'iconv_mod_unload':
/usr/src/sys/libkern/iconv.c:92: error: 'curthread' undeclared (first use in
this function)
/usr/src/sys/libkern/iconv.c:92: error: (Each undeclared identifier is
reported only once
/usr/src/sys/libkern/iconv.c:92: error: for each function it appears in.)
/usr/src/sys/libkern/iconv.c: In function 'iconv_sysctl_add':
/usr/src/sys/libkern/iconv.c:401: error: 'curthread' undeclared (first use
in this function)
/usr/src/sys/libkern/iconv.c: In function 'iconv_converter_handler':
/usr/src/sys/libkern/iconv.c:452: error: 'curthread' undeclared (first use
in this function)

I applied following patch - and it works:
--- sys/sys/sx.h.orig   2009-02-14 12:56:11.0 +
+++ sys/sys/sx.h2009-02-14 12:57:33.0 +
@@ -35,6 +35,7 @@
 #include 
 #include 
 #include 
+#include 

 #ifdef _KERNEL
 #include 

Google didn't find anything so I thought I mail this quickly.

Best regards,
Jens



signature.asc
Description: OpenPGP digital signature


Re: HEADS UP: Major CAM performance regression

2009-02-14 Thread Scott Long

Ivan Voras wrote:

2009/2/13 Scott Long :

Ivan Voras wrote:

Scott Long wrote:


I have committed a fix for this problem for FreeBSD 8-CURRENT as of SVN
revision 188570. FreeBSD 7-STABLE will be updated with the fix in a few
days once I've gotten confirmation that the fix works and doesn't cause
any adverse side-effects.  Anyone wanting to help in this validation
effort should apply the attached patch to their kernel source tree and
recompile.  Please contact me directly by email to report if the problem
is fixed for you.

I notice that write performance on an ESXi 3.5 hosted system is doubled,
but read performance remains the same (in bonnie++).
On a CISS system there is no significant change.

bonnie is an unreliable tool for measuring performance.


I'll try your suggestion if you have one.


I don't have a magic universal testing suite in my back pocket, sorry.
You need to look at your expected workload and develop tests to simulate
it.  When I do testing during driver development, I try a lot of
different parallel, sequential, large i/o, and small i/o combinations.



(except if it's about bonnie++ primarily measuring sequential
read/write - if a system can't do sequential IO well, it probably
won't do random IO well)


This is completely false.  Disks can't do sequential i/o very well due
to the physical limits of long seek times, but those seek times can be
greatly amortized, even in a random workload, with tagged queueing and
parallel dispatch from the OS.  Bonnie simply cannot exercise this very
well.

Bonnie tests system latency for discrete I/O's.  That is all it tests.

Scott
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: HEADS UP: Major CAM performance regression

2009-02-14 Thread Ivan Voras
2009/2/14 Scott Long :

>> I'll try your suggestion if you have one.
>
> I don't have a magic universal testing suite in my back pocket, sorry.
> You need to look at your expected workload and develop tests to simulate
> it.  When I do testing during driver development, I try a lot of
> different parallel, sequential, large i/o, and small i/o combinations.

Of course you're right about testing for specific workloads -  I just
thought you needed data points "from the field" if the patch is
helping or not.

>> (except if it's about bonnie++ primarily measuring sequential
>> read/write - if a system can't do sequential IO well, it probably
>> won't do random IO well)
>
> This is completely false.  Disks can't do sequential i/o very well due
> to the physical limits of long seek times, but those seek times can be

I don't follow this - where are the long seek times in sequential IO?

> greatly amortized, even in a random workload, with tagged queueing and
> parallel dispatch from the OS.  Bonnie simply cannot exercise this very
> well.
>
> Bonnie tests system latency for discrete I/O's.  That is all it tests.

Doesn't tagged queuing serve, among other things, to decrease overall
latency for IOs? Since AFAIK UFS queues multiple IO requests in both
directions (read-ahead and write-behind), shouldn't the benefits of
the patch - liberating the tags - be visible even with sequential IO?

I have the systems on which I tested for a few more days, if you need
the data I can run some other tests (randomio?).
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: HEADS UP: Major CAM performance regression

2009-02-14 Thread Svein Skogen (listmail account)
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Scott Long wrote:
> All,
> 
> A major performance regression was introduced to the CAM subsystem in
> FreeBSD 7.1.  The following configurations are known to be affected:
> 
> VMWare ESX
> VMWare Fusion
> (using bt or lsilogic controller options)
> HP CISS RAID
> Some MPT-SAS combinations with SATA drives attached
> (Includes Dell SAS5/ir, but not PERC5/PERC6).
> 
> Pure SCSI and SAS subsystems likely are NOT affected.  Any hardware
> that uses the 'ata' driver is also definitely NOT affected.  To
> determine if your installation is affected, run the following command as
> root:
> 
> camcontrol tags da0
> 
> Substitute 'da0' with another appropriate drive device number, if
> needed.  Note that this ONLY AFFECTS 'da' DEVICES.  If your disks are
> 'ad' devices, they are NOT affected.
> 
> The result from running this command should be an output similar to the
> following:
> 
> (pass0:mpt0:0:8:0): device openings: 255
> 
> If, instead, it reports a value of '1', you are likely affected.  Note
> that it may be normal for USB memory devices to report a low number.
> Also, many legacy SCSI disks, and devices that are not disks, may also
> be expected to report a low number.
> 
> The effect of this problem is that only one I/O command will be issued
> to the controller and disk at a time, instead of overlapping multiple
> commands in parallel.  This causes significantly higher latency in
> servicing moderate and heavy I/O workloads, leading to very poor
> performance.  Performance can be easily compared by downgrading to
> FreeBSD 7.0.

Any estimate on when this will be MFC'ed down to RELENG_7 yet?

//Svein

- --
- +---+---
  /"\   |Svein Skogen   | sv...@d80.iso100.no
  \ /   |Solberg Østli 9| PGP Key:  0xE5E76831
   X|2020 Skedsmokorset | sv...@jernhuset.no
  / \   |Norway | PGP Key:  0xCE96CE13
|   | sv...@stillbilde.net
 ascii  |   | PGP Key:  0x58CD33B6
 ribbon |System Admin   | svein-listm...@stillbilde.net
Campaign|stillbilde.net | PGP Key:  0x22D494A4
+---+---
|msn messenger: | Mobile Phone: +47 907 03 575
|sv...@jernhuset.no | RIPE handle:SS16503-RIPE
- +---+---
  Picture Gallery: https://gallery.stillbilde.net/v/svein/
- 
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmW+/IACgkQODUnwSLUlKTVuACgpk70v7d6hyBmvIdaFhLsDA01
nqIAoJkljSXU+TRb7tl9xM8EEerFeMGz
=0mNQ
-END PGP SIGNATURE-
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Problems with samba and vista on 7.1-STABLE

2009-02-14 Thread Goran Lowkrantz
I have few Samba servers running FreeBSD 7.1 were we have a problem with 
connection blocking from a few Vista systems that run programs that watch 
directories and files on the samba shares.


On my test setup I have managed to get a hang in about 30 min.

Samba is built with minimum functions and full debug. Options don't seems 
to have any impact on the problem.


The PC uses Vista Business SP1 and all patches, I run a DAM program called 
IMatch that watches for changes in the photo database.


The FreeBSD server is an up-to-date quad AMD server with 8GB running 
7.1-STABLE. In normal operation, I see the following:


# sockstat | grep 445
glz  smbd   7828  23 tcp4   10.255.253.1:445  10.255.253.2:57355
root smbd   76917 19 tcp4   127.0.0.1:445 *:*
root smbd   76917 20 tcp4   10.255.253.1:445  *:*

When I get the hang, it looks like this:
# sockstat | grep 445
root smbd   7828  23 tcp4   10.255.253.1:445  10.255.253.2:57355
root smbd   76917 19 tcp4   127.0.0.1:445 *:*
root smbd   76917 20 tcp4   10.255.253.1:445  *:*

and the GDB session:
# gdb /usr/local/sbin/smbd 7828
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.

Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
Attaching to program: /usr/local/sbin/smbd, process 7828
Reading symbols from /usr/local/lib/libldap-2.3.so.2...done.
Loaded symbols for /usr/local/lib/libldap-2.3.so.2
Reading symbols from /usr/local/lib/liblber-2.3.so.2...done.
Loaded symbols for /usr/local/lib/liblber-2.3.so.2
Reading symbols from /usr/local/lib/libcups.so.2...done.
Loaded symbols for /usr/local/lib/libcups.so.2
Reading symbols from /usr/lib/libssl.so.5...done.
Loaded symbols for /usr/lib/libssl.so.5
Reading symbols from /lib/libcrypto.so.5...done.
Loaded symbols for /lib/libcrypto.so.5
Reading symbols from /lib/libz.so.4...done.
Loaded symbols for /lib/libz.so.4
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libcrypt.so.4...done.
Loaded symbols for /lib/libcrypt.so.4
Reading symbols from /usr/lib/libpam.so.4...done.
Loaded symbols for /usr/lib/libpam.so.4
Reading symbols from /usr/local/lib/libexecinfo.so.1...done.
Loaded symbols for /usr/local/lib/libexecinfo.so.1
Reading symbols from /usr/local/lib/libiconv.so.3...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/local/lib/libdmalloc.so.1...done.
Loaded symbols for /usr/local/lib/libdmalloc.so.1
Reading symbols from /usr/local/lib/libpopt.so.0...done.
Loaded symbols for /usr/local/lib/libpopt.so.0
Reading symbols from /lib/libthr.so.3...done.
[New Thread 0x800a62e00 (LWP 100076)]
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libsasl2.so.2...done.
Loaded symbols for /usr/local/lib/libsasl2.so.2
Reading symbols from /usr/local/lib/libintl.so.8...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/nss_ldap.so.1...done.
Loaded symbols for /usr/local/lib/nss_ldap.so.1
Reading symbols from /usr/lib/libcom_err.so.4...done.
Loaded symbols for /usr/lib/libcom_err.so.4
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
[Switching to Thread 0x800a62e00 (LWP 100076)]
0x000801f01d6c in select () from /lib/libc.so.7
(gdb) directory /usr/ports/net/samba32-devel/work/samba-3.2.7/source/
Source directories searched: 
/usr/ports/net/samba32-devel/work/samba-3.2.7/source:$cdir:$cwd

(gdb) bt
#0  0x000801f01d6c in select () from /lib/libc.so.7
#1  0x000801d0f4d4 in select () from /lib/libthr.so.3
#2  0x006749fe in sys_select (maxfd=24, readfds=0x7fffd420, 
writefds=0x7fffd3a0, errorfds=0x0, tval=0x7fffd500)

   at lib/select.c:93
#3  0x004df64c in smbd_process () at smbd/process.c:839
#4  0x00854074 in main (argc=2, argv=0x7fffd638) at 
smbd/server.c:1450

(gdb) frame 2
#2  0x006749fe in sys_select (maxfd=24, readfds=0x7fffd420, 
writefds=0x7fffd3a0, errorfds=0x0, tval=0x7fffd500)

   at lib/select.c:93
93  ret = select(maxfd,readfds2,writefds,errorfds,tval);
(gdb) print tval
$1 = (struct timeval *) 0x7fffd500
(gdb) print *tval
$2 = {tv_sec = 59, tv_usec = 77}
(gdb) The program is running.  Quit anyway (and detach it)? (y or n) y
Detaching from program: /usr/local/sbin/smbd, process 7828

The following is a truss of the process until I have seen the switch to 
root as owner:

# time truss -p 8307
gettimeofday({1234648077.989004 },0x0)   = 0 (0x0)
gettimeofday({1234648077.989081 },0x0)   = 0 (0x0)

Re: Unhappy Xorg upgrade

2009-02-14 Thread sam sirlin

I've just upgraded to the latest xorg on my amd64 box
7.1-STABLE FreeBSD 7.1-STABLE #0: Fri Jan 16 07:33:20 PST 2009

I have a radeon graphics card,
drm0:  on vgapci0

- had to add the option mentioned in UPDATING

Section "ServerLayout"
 Option "AllowEmptyInput" "off"

...

Things seem mostly running on my box, though there are many of these

emacs
Xlib:  extension "Generic Event Extension" missing on display ":0.0".
...

I now see that ssh into a remote host (solaris 10 sparc), running emacs 
there pops up a window, but then typing anything into the window kills 
it, with


X protocol error: BadAlloc (insufficient resources for operation) on 
protocol request 149


(on the remote machine). xv works ok.

This doesn't happen if the remote host is linux rh4... This didn't 
happen before the xorg upgrade. Seems to be some sort of incompatibility 
in X11. Any ideas?


Sam Sirlin
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"