Re: NFS - slow
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?
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?
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?
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
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
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?
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
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