Re: NFS - slow

2012-05-01 Thread Wojciech Puchar

new (default on 9) sets it to MAXBSIZE, which is currently 64K, but
I would like to get that increased. (A quick test suggested that the
kernel works when MAXBSIZE is set to 128K, but I haven't done much
testing yet.)


From a long time my kernels have MAXBSIZE of 2 megabytes which is right 
value for modern hard drives and gives FAR better performance. I don't 
know why it isn't default.



I will test NFSv4 again today.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Ways to promote FreeBSD?

2012-05-01 Thread Wojciech Puchar

Advertising that it exists and is used is more important than saying x 
sucks, use y instead. This is the tone I was getting from the previous response and 
this is what I discourage as well as others on the list.


It was just an example. I don't use FreeBSD because Oracle Solaris sucks 
but because it works best for me. No other unix not only is as fast 
but allows so easy tuning like compiling own kernel and configuring 
things.


What do you prefer - few files in /etc, like rc.conf to configure almost 
everything in base system (+starting installed ports), or thousands of 
files in modern linux distro or oracle solaris?


Sorry but when i HAD to deal with linux i just deleted most of /etc and 
write my own /etc/rc.



Solaris 11 was just an example of overadvertised things that are just 
useless.  Linux is trendy and quality is second thing, but it had to be 
everywhere including things that should not have OS at all, like VoIP 
gateway.

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


Re: Ways to promote FreeBSD?

2012-05-01 Thread Garrett Cooper

On Apr 30, 2012, at 10:09 PM, Wojciech Puchar wrote:

  Advertising that it exists and is used is more important than saying x 
 sucks, use y instead. This is the tone I was getting from the previous 
 response and this is what I discourage as well as others on the list.
 
 It was just an example. I don't use FreeBSD because Oracle Solaris sucks but 
 because it works best for me. No other unix not only is as fast but allows so 
 easy tuning like compiling own kernel and configuring things.
 
 What do you prefer - few files in /etc, like rc.conf to configure almost 
 everything in base system (+starting installed ports), or thousands of files 
 in modern linux distro or oracle solaris?
 
 Sorry but when i HAD to deal with linux i just deleted most of /etc and write 
 my own /etc/rc.

Joe user, students, etc really don't care about the underlying system as long 
as the GUIs obscure this. OSX is a prime example of this (the OSX CLI has 
sucked for a long time). Only sysadmin and CLI power users care how things like 
this are organized. I think this is the usability boat that's been missed for a 
while on *nix.

 Solaris 11 was just an example of overadvertised things that are just 
 useless.  Linux is trendy and quality is second thing, but it had to be 
 everywhere including things that should not have OS at all, like VoIP gateway.

Sun isn't Oracle, so I don't expect them to put forth a decent general purpose 
OS offering. As far as Linux is concerned, in some ways it's good Linux has 
become a niche OS, and in some ways it's bad, but you can't take back the fact 
that it is what it is right now.

Thanks,
-Garrett___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Ways to promote FreeBSD?

2012-05-01 Thread Wojciech Puchar


Joe user, students, etc really don't care about the underlying system as long 
as the GUIs obscure this.

Indeed you are right. Actually they don't completely know what happens.
This is normal, but the poor word in your sentence is students. 
Unfortunately, from my observations, this is completely true.



OSX is a prime example of this (the OSX CLI has sucked for a long time).
Only sysadmin and CLI power users care how things like this are 
organized. I think this is the usability boat that's been missed for a 
while on *nix.


True. And my point is - don't promote FreeBSD in that area. Mac OS X, 
Windows, Modern linux distros will always be better than FreeBSD when 
judged by joe user who owns computer.


Yes i used parantheses in owns because he/she don't really own her 
computer, just paid for it and is enslaved.


FreeBSD can be great when used by joe user BUT when joe user does not 
install it, configure it or know root password at all, but QUALIFIED 
sysadmin configured everything for joe.


Joe may use thin client to connect to timesharing server with 
FreeBSD and this is my favourite example.


(actually i use X terminal made from obsolete PCs line pentium 133-500MHz 
PII, which are intentionally downclocked and fans removed, disks removed - 
SILENCE, low power).


Even with trendy GUI (but configured by root user, not joe user) it works 
quick, fast and predictable with cost of servicing close to zero.


This is right target for FreeBSD advertising IMHO, but not personal 
computer market.


Again i used parantheses for personal computer as for many years users 
don't completely know what is going on on their computers and are owned 
by them.




Do you now finally understood what i mean and why i am against your kind 
of promotion?


You won't promote Ferrari for people that now use everyday small city car. 
Inexperienced driver can only kill him/herself given top line Ferrari, and 
trying to make Ferrari to by easy to use will badly reduce it's 
performance.





Solaris 11 was just an example of overadvertised things that are just useless.  Linux is 
trendy and quality is second thing, but it had to be everywhere including 
things that should not have OS at all, like VoIP gateway.


Sun isn't Oracle, so I don't expect them to put forth a decent general purpose 
OS offering. As far as Linux is concerned, in some ways it's good Linux has 
become a niche OS, and in some ways it's bad, but you can't take back the fact 
that it is what it is right now.


Sun IS Oracle from some time.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: NFS - slow

2012-05-01 Thread Rick Macklem
Wojciech Puchar wrote:
 i tried nfsv4, tested under FreeBSD over localhost and it is roughly
 the
 same. am i doing something wrong?
 
Probably not. NFSv4 writes are done exactly the same as NFSv3. (It changes
other stuff, like locking, adding support for ACLs, etc.) I do have a patch
that allows the client to do more extension caching to local disk in the
client (called Packrats), but that isn't ready for prime time yet.

NFSv4.1 optionally supports pNFS, where reading and writing can be done
to Data Servers (DS) separate from the NFS (called Metadata Server or MDS).
I`m working on the client side of this, but it is also a work-in-progress
and no work on a NFSv4.1 server for FreeBSD has been done yet, as far as I know.

If you have increased MAXBSIZE in both the client and server machines and
use the new (experimental in 8.x) client and server, they will use a larger
rsize, wsize for NFSv3 as well as NFSv4. (Capturing packets and looking at them
in wireshark will tell you what the actual rsize, wsize is. A patch to nfsstat
to get the actual mount options in use is another of my `to do`items. If
anyone else wants to work on this, I`d be happy to help them.

 On Mon, 30 Apr 2012, Peter Jeremy wrote:
 
  On 2012-Apr-27 22:05:42 +0200, Wojciech Puchar
  woj...@wojtek.tensor.gdynia.pl wrote:
  is there any way to speed up NFS server?
  ...
  - write works terribly. it performs sync on every write IMHO,
 
  You don't mention which NFS server or NFS version you are using but
  for traditional NFS, this is by design. The NFS server is
  stateless
  and NFS server failures are transparent (other than time-wise) to
  the
  client. This means that once the server acknowledges a write, it
  guarantees the client will be able to later retrieve that data, even
  if the server crashes. This implies that the server needs to do a
  synchronous write to disk before it can return the acknowledgement
  back to the client.
 
  --
  Peter Jeremy
 
Btw, For NFSv3 and 4, the story is slightly different than the above.

A client can do writes with a flag that is either FILESYNC or UNSTABLE.
For FILESYNC, the server must do exactly what the above says. That is,
the data and any required metadata changes, must be on stable storage
before the server replies to the RPC.
For UNSTABLE, the server can simply save the data in memory and reply OK
to the RPC. For this case, the client needs to do a separate Commit RPC
later and the server must store the data on stable storage at that time.
(For this case, the client needs to keep the data written UNSTABLE in its
 cache and be prepared to re-write it, if the server reboots before the
 Commit RPC is done.)
- When any app. does a fsync(2), the client needs to do a Commit RPC
  if it has been doing UNSTABLE writes.

Most clients, including FreeBSD, do writes with UNSTABLE. However, one
limitation on the FreeBSD client is that it currently only keeps track
of one contiguous modified byte range in a buffer cache block. When an
app. in the client does non-contiguous writes to the same buffer cache
block, it must write the old modified byte range to the server with FILESYNC
before it copies the newly written data into the buffer cache block. This
happens frequently for builds during the loader phase. (jhb and I have
looked at this. I have an experimental patch that makes the modified byte
range a list, but it requires changes to struct buf. I think it is worth
persuing. It is a client side patch, since that is where things can be
improved, if clients avoid doing FILESYNC or frequent Commit RPCs.)

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


Optionally have ld(1) script instead of symlink for .so

2012-05-01 Thread Jeremie Le Hen
Hi,

I plan to commit the attached patch.  It brings a new variable for
library Makefiles (SHLIB_LDSCRIPT).  When defined, it contains the name
of a template file used to generate the ld(1) script.

Two variables may appear in the template file:
- @@SHLIB@@ will be substituted by the real shared library full path
  (${SHLIBDIR}/${SHLIB_NAME});
- @@LIBDIR@@ will be substituted with ${LIBDIR}.

This is wrapped with some cursed magic to allow building 32bits
libraries on 64bits platforms and cross-building.

This is the first step toward being able to build ports with SSP
painlessly.

Any comment or concern?
-- 
Jeremie Le Hen

Men are born free and equal.  Later on, they're on their own.
Jean Yanne
diff -r 897395797d88 -r bc47fd6cab07 Makefile.inc1
--- a/Makefile.inc1	Sun Apr 29 00:02:52 2012 +0200
+++ b/Makefile.inc1	Sun Apr 29 00:09:30 2012 +0200
@@ -265,6 +265,7 @@
 # world stage
 WMAKEENV=	${CROSSENV} \
 		_SHLIBDIRPREFIX=${WORLDTMP} \
+		_LDSCRIPTROOT= \
 		VERSION=${VERSION} \
 		INSTALL=sh ${.CURDIR}/tools/install.sh \
 		PATH=${TMPPATH}
@@ -307,6 +308,7 @@
 # Yes, the flags are redundant.
 LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
 		_SHLIBDIRPREFIX=${LIB32TMP} \
+		_LDSCRIPTROOT=${LIB32TMP} \
 		VERSION=${VERSION} \
 		INSTALL=sh ${.CURDIR}/tools/install.sh \
 		PATH=${TMPPATH} \
@@ -319,11 +321,11 @@
 		-DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
 		-DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \
 		DESTDIR=${LIB32TMP}
-LIB32IMAKE=	${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS
+LIB32IMAKE=	${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS
 .endif
 
 # install stage
-IMAKEENV=	${CROSSENV}
+IMAKEENV=	${CROSSENV:N_LDSCRIPTROOT=*}
 IMAKE=		${IMAKEENV} ${MAKE} -f Makefile.inc1
 .if empty(.MAKEFLAGS:M-n)
 IMAKEENV+=	PATH=${STRICTTMPPATH}:${INSTALLTMP} \
diff -r 897395797d88 -r bc47fd6cab07 share/mk/bsd.lib.mk
--- a/share/mk/bsd.lib.mk	Sun Apr 29 00:02:52 2012 +0200
+++ b/share/mk/bsd.lib.mk	Sun Apr 29 00:09:30 2012 +0200
@@ -271,6 +271,15 @@
 	${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
 	${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
 .if defined(SHLIB_LINK)
+# _LDSCRIPTROOT and _SHLIBDIRPREFIX serve almost the same purpose but the
+# former needs to be empty during installworld while the later does not.
+.if defined(SHLIB_LDSCRIPT)  !empty(SHLIB_LDSCRIPT)  exists(${.CURDIR}/${SHLIB_LDSCRIPT})
+	sed -e 's,@@SHLIB@@,${_LDSCRIPTROOT}${SHLIBDIR}/${SHLIB_NAME},g' \
+	-e 's,@@LIBDIR@@,${_LDSCRIPTROOT}${LIBDIR},g' \
+	${.CURDIR}/${SHLIB_LDSCRIPT}  lib${LIB}.ld
+	${INSTALL} -S -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+	${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
+.else
 .if ${SHLIBDIR} == ${LIBDIR}
 	ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
 .else
@@ -281,8 +290,9 @@
 	rm -f ${DESTDIR}${LIBDIR}/${SHLIB_NAME}
 .endif
 .endif
-.endif
-.endif
+.endif # SHLIB_LDSCRIPT
+.endif # SHLIB_LINK
+.endif # SHIB_NAME
 .if defined(INSTALL_PIC_ARCHIVE)  defined(LIB)  !empty(LIB)  ${MK_TOOLCHAIN} != no
 	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
 	${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
@@ -350,6 +360,9 @@
 .endif
 .if defined(SHLIB_NAME)
 .if defined(SHLIB_LINK)
+.if defined(SHLIB_LDSCRIPT)  exists(${.CURDIR}/${SHLIB_LDSCRIPT})
+	rm -f lib${LIB}.ld
+.endif
 	rm -f ${SHLIB_LINK}
 .endif
 .if defined(LIB)  !empty(LIB)
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org

Re: Ways to promote FreeBSD?

2012-05-01 Thread c . hutchinson0
On Tue, 1 May 2012 09:26:30 +0200 (CEST)
Wojciech Puchar woj...@wojtek.tensor.gdynia.pl wrote:

 
  Joe user, students, etc really don't care about the underlying
  system as long as the GUIs obscure this.
 Indeed you are right. Actually they don't completely know what
 happens. This is normal, but the poor word in your sentence is
 students. Unfortunately, from my observations, this is completely
 true.
 
 OSX is a prime example of this (the OSX CLI has sucked for a long
 time).
  Only sysadmin and CLI power users care how things like this are 
 organized. I think this is the usability boat that's been missed for
 a while on *nix.
 
 True. And my point is - don't promote FreeBSD in that area. Mac OS X, 
 Windows, Modern linux distros will always be better than FreeBSD
 when judged by joe user who owns computer.
 
 Yes i used parantheses in owns because he/she don't really own her 
 computer, just paid for it and is enslaved.
 
 FreeBSD can be great when used by joe user BUT when joe user does
 not install it, configure it or know root password at all, but
 QUALIFIED sysadmin configured everything for joe.
 
 Joe may use thin client to connect to timesharing server with 
 FreeBSD and this is my favourite example.
 
 (actually i use X terminal made from obsolete PCs line pentium
 133-500MHz PII, which are intentionally downclocked and fans removed,
 disks removed - SILENCE, low power).
 
 Even with trendy GUI (but configured by root user, not joe user) it
 works quick, fast and predictable with cost of servicing close to
 zero.
 
 This is right target for FreeBSD advertising IMHO, but not
 personal computer market.
 
 Again i used parantheses for personal computer as for many years
 users don't completely know what is going on on their computers and
 are owned by them.

I think The power to serve, pretty much sums it up nicely. :-)
 
 
 
 Do you now finally understood what i mean and why i am against your
 kind of promotion?
 
 You won't promote Ferrari for people that now use everyday small city
 car. Inexperienced driver can only kill him/herself given top line
 Ferrari, and trying to make Ferrari to by easy to use will badly
 reduce it's performance.
 
 
  Solaris 11 was just an example of overadvertised things that are
  just useless.  Linux is trendy and quality is second thing, but
  it had to be everywhere including things that should not have OS
  at all, like VoIP gateway.
 
  Sun isn't Oracle, so I don't expect them to put forth a decent
  general purpose OS offering. As far as Linux is concerned, in some
  ways it's good Linux has become a niche OS, and in some ways it's
  bad, but you can't take back the fact that it is what it is right
  now.
 
While I know this probably seems pointless, based on your
observation(s). I can't help but wonder if initiating a
BSD awareness day, might not be a bad idea. I can see
where, if targeted at students, this might be especially
effective -- this IS where BSD all started, wasn't it? :-)

just my $0.02 :-)

 Sun IS Oracle from some time.
Right you are!.

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

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


Re: [review request] zfsboot/zfsloader: support accessing filesystems within a pool

2012-05-01 Thread Marius Strobl
On Mon, Apr 30, 2012 at 10:04:17AM +0300, Andriy Gapon wrote:
 on 29/04/2012 19:46 Marius Strobl said the following:
  Given that you certainly have a well better knowledge of ZFS, it
  would be great if we could do it the other way around, i.e. commit
  the sparc64 support first and then your patch after adapting
  whatever you have in mind with things becoming different. In other
  words, I'm basically ready to commit the following patch. As for
  zfs_dev_init() this just wraps it in #if defined(__amd64__) ||
  defined(__i386__) in zfs.c for now.
  http://people.freebsd.org/~marius/boot_zfs_sparc64.diff
 
 OK, let's do it this way.
 

Thanks!
Marius

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