Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread pluknet
On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:
 On Tue, Aug 17, 2010 at 07:42:41PM +0400, pluknet wrote:
 2010/8/16 Kostik Belousov kostik...@gmail.com:
  On Mon, Aug 16, 2010 at 09:07:24PM +0400, pluknet wrote:
  On 16 August 2010 21:05, pluknet pluk...@gmail.com wrote:
   Hi.
  
   Seeing on mostly idle, recently updated current, while closing a file.
   Presumably never reported on ML.
 [...]
 
  Both LORs are valid. The fork performed deep inside the VFS call stack
  is obviously problematic. As a workaround, you may fix the number of
  nfsiods.
 
  Proper fix might consist of creating a shepherd thread which only task
  is to act on the requests on creating new nfsiods.
 
  Would you try to implement this ? I will provide the assistance, if needed.

 Hmm.. I tried to move kproc_create() under shepherd thread and now stuck
 with cp process lockup in [bo_wwait] when cp'ing something on nfs: cp a b.
 Did I screw up something?
 See weird draft patch attached (weird, as I have no idea how to nicely
 exchange data between nfs_nfsiodnew() and shep_thread() thread).
 Most likely, you loose the requests to create nfsiods since the
 existing request in the global variable shep_chan can be overwritten
 by new request. You should either sleep till existing request is serviced,
 or form a queue.

It turns out I passed pointer to pointer instead of pointer
(sorry for my poor English).


 Also please take a note of the John' suggestion to use the taskqueue.

I decided to go this road. Thank you both.
Now I do nfs buildkernel survive and prepare some benchmark results.

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


Re: AR9280 bb hang and other

2010-08-18 Thread Ian FREISLICH
Rui Paulo wrote:
 On 17 Aug 2010, at 09:17, Ian FREISLICH wrote:
  Aug 17 09:29:08 mini kernel: ath0: bb hang detected (0x80), resetting
  Aug 17 09:37:57 mini kernel: ath0: bb hang detected (0x80), resetting
  Aug 17 09:49:10 mini kernel: ath0: bb hang detected (0x80), resetting
  Aug 17 10:06:17 mini kernel: ath0: bb hang detected (0x80), resetting

 BB hangs are a problem with the 9280 but I don't know how to fix.
 Hardware errors shouldn't happen, but this might mean you have
 very aggressive power reduction settings (ACPI C3, etc.) that are
 interfering with the atheros card. This has happened to me in the
 past.

Now, I've made 2 changes so I'm not sure which affected it:

1. I replaced the card with an AR9285

a...@pci0:1:0:0: class=0x028000 card=0x7167144f chip=0x002b168c rev=0x01 
hdr=0x00
vendor  = 'Atheros Communications Inc.'
device  = 'Atheros AR9285 Wireless LAN 802.11 a/b/g/n Controller (AR928x)'
class   = network

2. I changed the channel on our AP. (there were 2 other nearby APs
   on the same channel).

I noticed that I got a lot more bb hangs at the office compared to
home - there are a lot more APs nearby:

[mini] /usr/home/ianf $ ifconfig wlan0 scan
SSID/MESH IDBSSID  CHAN RATE   S:N INT CAPS
Ignition00:26:bb:78:b4:916   54M -89:-96  100 EPS  RSN HTCAP WPA WME
Eco Impact  00:22:3f:55:80:bc   11   54M -92:-96  100 EP   HTCAP WPS WPA WME
Viic00:14:6c:49:3f:1c   11   54M -92:-96  100 EPS  WPA ATH WME
cluelan 00:30:4f:58:bf:967   54M -72:-96  100 EPS  WPA ATH WME
PRIVATE LABEL   00:19:70:05:28:c43   54M -79:-96  100 EP   WPA WME
blinkbroom1 00:18:4d:1c:8e:3a5   54M -89:-96  100 EPS  WPA
Sasman  00:26:f2:46:2c:de1   54M -93:-96  100 EP   WME
cocoa   00:26:f2:3d:aa:133   54M -94:-96  200 EPS  WME HTCAP ATH
CareCross   30:46:9a:1e:b0:ca8   54M -35:-96  100 EPS  RSN WPA

We're cluelan and we were on channel 3.  Previously, I was seeing
a hang every 10 minutes or so, since changing the channel to a
free one, I haven't had a hang in the last 40 minutes.  The only
bb hang I've had was when I deactivated the RF switch on netbook
and that was a semi-expected result.

Ian

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


8.1-release + zfs v15 df(1) hangs

2010-08-18 Thread Marian Hettwer

 Hi All,

i installed freebsd 8.1-release on my workstation (based on the 
8.1-release mfsbsd isos) and I'm now experiencing some strange effects.


A df(1) doesn't return and is not killable and while taking a look 
around in my process table, I could find several find's hanging around too.


mhettwer  5976  0.0  0.0  6896  1088  13  D+5:55PM   0:00.00 df -h
mhettwer  5351  0.0  0.0  6896  1088  19  D+1:49PM   0:00.00 df -h

root   215  0.0  0.0  5804  1232  ??  DMon05AM   0:04.29 find 
-sx / /home /tmp /var /dev/null -type f ( -perm -u+x -or -perm -g+x -or 
-perm -o+x ) ( -perm -u+s -or -perm -g+s ) -exec ls -liTd {} +
root  4139  0.0  0.0  5804  1324  ??  DTue05AM   0:02.38 find 
-sx / /home /tmp /var /dev/null -type f ( -perm -u+x -or -perm -g+x -or 
-perm -o+x ) ( -perm -u+s -or -perm -g+s ) -exec ls -liTd {} +
root  7305  0.0  0.0  5804  1324  ??  D 5:01AM   0:00.43 find 
-sx / /home /tmp /var /dev/null -type f ( -perm -u+x -or -perm -g+x -or 
-perm -o+x ) ( -perm -u+s -or -perm -g+s ) -exec ls -liTd {} +
root 73775  0.0  0.0  5804  1232  ??  DFri05AM   0:10.18 find 
-sx / /home /tmp /var /dev/null -type f ( -perm -u+x -or -perm -g+x -or 
-perm -o+x ) ( -perm -u+s -or -perm -g+s ) -exec ls -liTd {} +
root 94589  0.0  0.0  5804  1232  ??  DSat05AM   0:07.68 find 
-sx / /home /tmp /var /dev/null -type f ( -perm -u+x -or -perm -g+x -or 
-perm -o+x ) ( -perm -u+s -or -perm -g+s ) -exec ls -liTd {} +
nobody   94746  0.0  0.0  5804  1072  ??  DN   Sat06AM   0:07.38 find -s 
/ ! ( -fstype zfs ) -prune -or -path /tmp -prune -or -path /usr/tmp 
-prune -or -path /var/tmp -prune -or -path /var/db/portsnap -prune -or 
-print
root 97430  0.0  0.0  5804  1232  ??  DSun05AM   0:06.02 find 
-sx / /home /tmp /var /dev/null -type f ( -perm -u+x -or -perm -g+x -or 
-perm -o+x ) ( -perm -u+s -or -perm -g+s ) -exec ls -liTd {} +


I couldn't figure out where they're coming from, but since it seems 
there's a new one every night I suspect its coming from a periodic script.


Any ideas how to get rid of those processes?

And yes, I know that zfs V15 isn't in -STABLE for a reason...


# uname -a
# FreeBSD siteop38-1.mobile.rz 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Tue 
Aug  3 12:03:02 UTC 2010 
r...@siteop38-1.mobile.rz:/usr/obj/usr/src/sys/GENERIC  amd64


(I csup'ed to RELENG_8_1 and applied the v15 patch from 
http://mfsbsd.vx.sk/ and did a make world)


best regards,
Marian

PS.: For the author of mfsbsd iso's: I like them. Cool! Thanks! :)
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


[head tinderbox] failure on i386/i386

2010-08-18 Thread FreeBSD Tinderbox
TB --- 2010-08-18 06:10:00 - tinderbox 2.6 running on freebsd-current.sentex.ca
TB --- 2010-08-18 06:10:00 - starting HEAD tinderbox run for i386/i386
TB --- 2010-08-18 06:10:00 - cleaning the object tree
TB --- 2010-08-18 06:10:38 - cvsupping the source tree
TB --- 2010-08-18 06:10:38 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/i386/i386/supfile
TB --- 2010-08-18 06:16:37 - building world
TB --- 2010-08-18 06:16:37 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 06:16:37 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 06:16:37 - TARGET=i386
TB --- 2010-08-18 06:16:37 - TARGET_ARCH=i386
TB --- 2010-08-18 06:16:37 - TZ=UTC
TB --- 2010-08-18 06:16:37 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 06:16:37 - cd /src
TB --- 2010-08-18 06:16:37 - /usr/bin/make -B buildworld
 World build started on Wed Aug 18 06:16:37 UTC 2010
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Wed Aug 18 08:03:38 UTC 2010
TB --- 2010-08-18 08:03:38 - generating LINT kernel config
TB --- 2010-08-18 08:03:38 - cd /src/sys/i386/conf
TB --- 2010-08-18 08:03:38 - /usr/bin/make -B LINT
TB --- 2010-08-18 08:03:38 - building LINT kernel
TB --- 2010-08-18 08:03:38 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 08:03:38 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 08:03:38 - TARGET=i386
TB --- 2010-08-18 08:03:38 - TARGET_ARCH=i386
TB --- 2010-08-18 08:03:38 - TZ=UTC
TB --- 2010-08-18 08:03:38 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 08:03:38 - cd /src
TB --- 2010-08-18 08:03:38 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Wed Aug 18 08:03:38 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building the kernel
 stage 3.3: building the modules
 Kernel build for LINT completed on Wed Aug 18 08:30:39 UTC 2010
TB --- 2010-08-18 08:30:39 - building GENERIC kernel
TB --- 2010-08-18 08:30:39 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 08:30:39 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 08:30:39 - TARGET=i386
TB --- 2010-08-18 08:30:39 - TARGET_ARCH=i386
TB --- 2010-08-18 08:30:39 - TZ=UTC
TB --- 2010-08-18 08:30:39 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 08:30:39 - cd /src
TB --- 2010-08-18 08:30:39 - /usr/bin/make -B buildkernel KERNCONF=GENERIC
 Kernel build for GENERIC started on Wed Aug 18 08:30:39 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building the kernel
 stage 3.3: building the modules
 Kernel build for GENERIC completed on Wed Aug 18 08:51:08 UTC 2010
TB --- 2010-08-18 08:51:08 - building PAE kernel
TB --- 2010-08-18 08:51:08 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 08:51:08 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 08:51:08 - TARGET=i386
TB --- 2010-08-18 08:51:08 - TARGET_ARCH=i386
TB --- 2010-08-18 08:51:08 - TZ=UTC
TB --- 2010-08-18 08:51:08 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 08:51:08 - cd /src
TB --- 2010-08-18 08:51:08 - /usr/bin/make -B buildkernel KERNCONF=PAE
 Kernel build for PAE started on Wed Aug 18 08:51:08 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building the kernel
 stage 3.3: building the modules
--
cd /obj/i386.i386/src/sys/PAE; MAKEOBJDIRPREFIX=/obj/i386.i386  
MACHINE_ARCH=i386  MACHINE=i386  CPUTYPE=  
GROFF_BIN_PATH=/obj/i386.i386/src/tmp/legacy/usr/bin  
GROFF_FONT_PATH=/obj/i386.i386/src/tmp/legacy/usr/share/groff_font  
GROFF_TMAC_PATH=/obj/i386.i386/src/tmp/legacy/usr/share/tmac  
_SHLIBDIRPREFIX=/obj/i386.i386/src/tmp  VERSION=FreeBSD 8.0-STABLE amd64 
800504  INSTALL=sh /src/tools/install.sh  
PATH=/obj/i386.i386/src/tmp/legacy/usr/sbin:/obj/i386.i386/src/tmp/legacy/usr/bin:/obj/i386.i386/src/tmp/legacy/usr/games:/obj/i386.i386/src/tmp/usr/sbin:/obj/i386.i386/src/tmp/usr/bin:/obj/i386.i386/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
 /usr/bin/make KERNEL=kernel modules-all -DNO_MODULES_OBJ
make: don't know how to make modules-all. Stop
*** Error code 2

Stop in /src.
*** Error code 1

Stop in /src.
TB --- 2010-08-18 08:56:29 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2010-08-18 08:56:29 - ERROR: failed to build PAE kernel
TB --- 2010-08-18 08:56:29 - 7339.23 user 1486.55 system 9989.07 real


http://tinderbox.freebsd.org/tinderbox-head-HEAD-i386-i386.full

unionfs a little improvement

2010-08-18 Thread Daichi GOTO

Hi Ed and unionfs fan gyus.

Ed pointed out a contradict behavior between current
unionfs implementation and its manual, and sent me a
patch.

Thanks Ed ;)


Index: sys/fs/unionfs/union_vfsops.c
===
--- sys/fs/unionfs/union_vfsops.c   (revision 211093)
+++ sys/fs/unionfs/union_vfsops.c   (working copy)
@@ -89,7 +89,6 @@
u_short ufile;
unionfs_copymode copymode;
unionfs_whitemode whitemode;
-   struct componentname fakecn;
struct nameidata nd, *ndp;
struct vattrva;

@@ -280,26 +279,6 @@
mp-mnt_flag |= ump-um_uppervp-v_mount-mnt_flag  MNT_RDONLY;

/*
-* Check whiteout
-*/
-   if ((mp-mnt_flag  MNT_RDONLY) == 0) {
-   memset(fakecn, 0, sizeof(fakecn));
-   fakecn.cn_nameiop = LOOKUP;
-   fakecn.cn_thread = td;
-   error = VOP_WHITEOUT(ump-um_uppervp, fakecn, LOOKUP);
-   if (error) {
-   if (below) {
-   VOP_UNLOCK(ump-um_uppervp, 0);
-   vrele(upperrootvp);
-   } else
-   vput(ump-um_uppervp);
-   free(ump, M_UNIONFSMNT);
-   mp-mnt_data = NULL;
-   return (error);
-   }
-   }
-
-   /*
 * Unlock the node
 */
VOP_UNLOCK(ump-um_uppervp, 0);



Ed's message here:


Just for fun I was hacking on a writable bootcd, using unionfs and
tmpfs. I noticed tmpfs doesn't support whiteouts (yet). This prevents
unionfs from mounting tmpfs on top. I do want to be able to use tmpfs,
even if it means we can't get any whiteouts.

The manpage says the following:

Without whiteout support from the file system backing the upper layer,
there is no way that delete and rename operations on lower layer 
objects

can be done.  EROFS is returned for this kind of operations along with
any others which would make modifications to the lower layer, such as
chmod(1).

This seems to contradict the current behaviour, which is to deny the
mount altogether. The attached patch makes it work, but instead of
EROFS, it now returns EOPNOTSUPP, as generated by VOP_WHITEOUT().



It looks like reasonable and patch is simple and effective I guess.
If you unionfs guys or fs guys have some ideas around this patch,
please teach me.

After some tests and a couple of weeks after, I'll commit ed's patch
if there is no objections.


--
Daichi GOTO
81-42-316-7945 | dai...@ongs.co.jp | http://www.ongs.co.jp
LinkedIn: http://linkedin.com/in/daichigoto
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: AR9280 bb hang and other

2010-08-18 Thread Rui Paulo
On 18 Aug 2010, at 09:26, Ian FREISLICH wrote:

 Rui Paulo wrote:
 On 17 Aug 2010, at 09:17, Ian FREISLICH wrote:
 Aug 17 09:29:08 mini kernel: ath0: bb hang detected (0x80), resetting
 Aug 17 09:37:57 mini kernel: ath0: bb hang detected (0x80), resetting
 Aug 17 09:49:10 mini kernel: ath0: bb hang detected (0x80), resetting
 Aug 17 10:06:17 mini kernel: ath0: bb hang detected (0x80), resetting
 
 BB hangs are a problem with the 9280 but I don't know how to fix.
 Hardware errors shouldn't happen, but this might mean you have
 very aggressive power reduction settings (ACPI C3, etc.) that are
 interfering with the atheros card. This has happened to me in the
 past.
 
 Now, I've made 2 changes so I'm not sure which affected it:
 
 1. I replaced the card with an AR9285
 
 a...@pci0:1:0:0: class=0x028000 card=0x7167144f chip=0x002b168c rev=0x01 
 hdr=0x00
vendor  = 'Atheros Communications Inc.'
device  = 'Atheros AR9285 Wireless LAN 802.11 a/b/g/n Controller (AR928x)'
class   = network
 
 2. I changed the channel on our AP. (there were 2 other nearby APs
   on the same channel).
 
 I noticed that I got a lot more bb hangs at the office compared to
 home - there are a lot more APs nearby:
 
 [mini] /usr/home/ianf $ ifconfig wlan0 scan
 SSID/MESH IDBSSID  CHAN RATE   S:N INT CAPS
 Ignition00:26:bb:78:b4:916   54M -89:-96  100 EPS  RSN HTCAP WPA 
 WME
 Eco Impact  00:22:3f:55:80:bc   11   54M -92:-96  100 EP   HTCAP WPS WPA 
 WME
 Viic00:14:6c:49:3f:1c   11   54M -92:-96  100 EPS  WPA ATH WME
 cluelan 00:30:4f:58:bf:967   54M -72:-96  100 EPS  WPA ATH WME
 PRIVATE LABEL   00:19:70:05:28:c43   54M -79:-96  100 EP   WPA WME
 blinkbroom1 00:18:4d:1c:8e:3a5   54M -89:-96  100 EPS  WPA
 Sasman  00:26:f2:46:2c:de1   54M -93:-96  100 EP   WME
 cocoa   00:26:f2:3d:aa:133   54M -94:-96  200 EPS  WME HTCAP ATH
 CareCross   30:46:9a:1e:b0:ca8   54M -35:-96  100 EPS  RSN WPA
 
 We're cluelan and we were on channel 3.  Previously, I was seeing
 a hang every 10 minutes or so, since changing the channel to a
 free one, I haven't had a hang in the last 40 minutes.  The only
 bb hang I've had was when I deactivated the RF switch on netbook
 and that was a semi-expected result.

Yes, the hangs are dependent on the signal and noise conditions.

Regards,
--
Rui Paulo


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


Re: Building world with clang

2010-08-18 Thread Dag-Erling Smørgrav
Dimitry Andric dimi...@andric.com writes:
 Alexander Kabaev kab...@gmail.com writes:
  Does method 1) work fine with 'make buildenv'? I doubt that. I would
  strongly suggest we should not lose this feature. I do not like the
  idea of having to depend on -isystem in CFLAGS in such an environment. 
 I have not tested make buildenv with this method, but since ${CC} is
 modified, not ${CFLAGS}, there is a reasonable chance that it might
 work. :)

I'm not a big fan of reasonable chances when it comes to the
toolchain.

 Note a similar method is already being using for the build32 stage on
 amd64, where ${CC} has a bunch of flags (including -isystem, -L and -B)
 appended.

No, what is used is a variant of method 1 *on top of* method 2 for a
very specific case.  You need a special version of clang (method 2)
anyway to support cross-building.

DES
-- 
Dag-Erling Smørgrav - d...@des.no
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: AR9280 bb hang and other

2010-08-18 Thread Adrian Chadd
Can you please change one at a time and see which affected it?

Thanks,


Adrian

On 18 August 2010 16:26, Ian FREISLICH i...@clue.co.za wrote:
 Rui Paulo wrote:
 On 17 Aug 2010, at 09:17, Ian FREISLICH wrote:
  Aug 17 09:29:08 mini kernel: ath0: bb hang detected (0x80), resetting
  Aug 17 09:37:57 mini kernel: ath0: bb hang detected (0x80), resetting
  Aug 17 09:49:10 mini kernel: ath0: bb hang detected (0x80), resetting
  Aug 17 10:06:17 mini kernel: ath0: bb hang detected (0x80), resetting

 BB hangs are a problem with the 9280 but I don't know how to fix.
 Hardware errors shouldn't happen, but this might mean you have
 very aggressive power reduction settings (ACPI C3, etc.) that are
 interfering with the atheros card. This has happened to me in the
 past.

 Now, I've made 2 changes so I'm not sure which affected it:

 1. I replaced the card with an AR9285

 a...@pci0:1:0:0: class=0x028000 card=0x7167144f chip=0x002b168c rev=0x01 
 hdr=0x00
    vendor  = 'Atheros Communications Inc.'
    device  = 'Atheros AR9285 Wireless LAN 802.11 a/b/g/n Controller (AR928x)'
    class   = network

 2. I changed the channel on our AP. (there were 2 other nearby APs
   on the same channel).

 I noticed that I got a lot more bb hangs at the office compared to
 home - there are a lot more APs nearby:

 [mini] /usr/home/ianf $ ifconfig wlan0 scan
 SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
 Ignition        00:26:bb:78:b4:91    6   54M -89:-96  100 EPS  RSN HTCAP WPA 
 WME
 Eco Impact      00:22:3f:55:80:bc   11   54M -92:-96  100 EP   HTCAP WPS WPA 
 WME
 Viic            00:14:6c:49:3f:1c   11   54M -92:-96  100 EPS  WPA ATH WME
 cluelan         00:30:4f:58:bf:96    7   54M -72:-96  100 EPS  WPA ATH WME
 PRIVATE LABEL   00:19:70:05:28:c4    3   54M -79:-96  100 EP   WPA WME
 blinkbroom1     00:18:4d:1c:8e:3a    5   54M -89:-96  100 EPS  WPA
 Sasman          00:26:f2:46:2c:de    1   54M -93:-96  100 EP   WME
 cocoa           00:26:f2:3d:aa:13    3   54M -94:-96  200 EPS  WME HTCAP ATH
 CareCross       30:46:9a:1e:b0:ca    8   54M -35:-96  100 EPS  RSN WPA

 We're cluelan and we were on channel 3.  Previously, I was seeing
 a hang every 10 minutes or so, since changing the channel to a
 free one, I haven't had a hang in the last 40 minutes.  The only
 bb hang I've had was when I deactivated the RF switch on netbook
 and that was a semi-expected result.

 Ian

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

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


Re: AR9280 bb hang and other

2010-08-18 Thread Ian FREISLICH
Adrian Chadd wrote:
 Can you please change one at a time and see which affected it?

Looking at my logs:

startup:
Aug 18 09:41:40 mini kernel: wlan0: Ethernet address: b4:82:fe:72:16:09
Aug 18 09:41:41 mini kernel: wlan0: link state changed to UP

?:
Aug 18 09:45:25 mini kernel: ath0: bb hang detected (0x80), resetting

RF switch off:
Aug 18 09:49:50 mini kernel: ath0: bb hang detected (0x80), resetting
Aug 18 09:50:13 mini kernel: wlan0: link state changed to DOWN

RF switch on:
Aug 18 09:50:13 mini kernel: wlan0: link state changed to UP

AP changed channels
Aug 18 09:54:40 mini kernel: ath0: bb hang detected (0x80), resetting

wlan0 destroy:
Aug 18 09:56:31 mini kernel: wlan0: link state changed to DOWN
Aug 18 09:56:31 mini dhclient[1300]: Interface wlan0 no longer appears valid.

wlan0 create:
Aug 18 09:56:33 mini kernel: wlan0: Ethernet address: b4:82:fe:72:16:09
Aug 18 09:56:36 mini kernel: wlan0: link state changed to UP

It really looks likes like it's signal related, not card related
because this card still got a signal related bb hang before the
channel change, but not after.

Ian

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


Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread pluknet
On 18 August 2010 12:07, pluknet pluk...@gmail.com wrote:
 On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:


 Also please take a note of the John' suggestion to use the taskqueue.

 I decided to go this road. Thank you both.
 Now I do nfs buildkernel survive and prepare some benchmark results.


So, I modified the patch to defer proc_create() with taskqueue(9).
Below is `time make -j5 buildkernel WITHOUT_MODULES=yes` perf. evaluation.
Done on 4-way CPU on clean /usr/obj with /usr/src  /usr/obj both
nfs-mounted over 1Gbit LAN.

clean old
1137.985u 239.411s 7:42.15 298.0%   6538+2133k 87+43388io 226pf+0w

clean new
1134.755u 240.032s 7:41.25 298.0%   6553+2133k 87+43367io 224pf+0w

Patch needs polishing, though it generally works.
Not sure if shep_chan (or whatever name it will get) needs locking.

-- 
wbr,
pluknet


nfsiod_tq.diff
Description: Binary data
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

Mounting cd9660 multiple times gives EBUSY [Was: unionfs a little improvement]

2010-08-18 Thread Ed Schouten
Hi Daichi,

I think Keith Packard of Xorg once wrote a commit message along the
lines of 5000 lines of code removed, feature added This seems to be
similar, albeit on a smaller scale. ;-)

Apart from this issue with unionfs, I am also experiencing another
issue, where for some reason I cannot perform a second mount of the CD
right after booting the system. Basically, my WIP FreeBSD boot CD does
the following (but written in C):

mount -t cd9660 /dev/iso9660/freebsd /mnt
mount -t tmpfs none /tmp
mount -t unionfs /tmp /mnt
mount -t devfs none /mnt/dev
chroot /mnt /sbin/init

The first step fails with EBUSY. I use the following hack to get it
working, but I don't think it's the proper way to solve it:

%%%
Index: sys/geom/geom_vfs.c
===
--- sys/geom/geom_vfs.c (revision 211093)
+++ sys/geom/geom_vfs.c (working copy)
@@ -162,8 +162,10 @@
 
*cpp = NULL;
bo = vp-v_bufobj;
+#if 0
if (bo-bo_private != vp)
return (EBUSY);
+#endif
 
pp = g_dev_getprovider(vp-v_rdev);
if (pp == NULL)
%%%

I am really not that familiar with GEOM/VFS to understand the impact of
this change. What does it actually mean if bo-bo_private != vp?

-- 
 Ed Schouten e...@80386.nl
 WWW: http://80386.nl/


pgpDtQb4iDzU5.pgp
Description: PGP signature


Re: bsdgrep does not work with tail -f | grep combination

2010-08-18 Thread poyopoyo
Hi Gabor and others,

As Gabor committed r211364, bsdgrep now works nicely with tail -f.

http://svn.freebsd.org/changeset/base/211364

Thank you very much.

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


[head tinderbox] failure on sparc64/sun4v

2010-08-18 Thread FreeBSD Tinderbox
TB --- 2010-08-18 09:47:11 - tinderbox 2.6 running on freebsd-current.sentex.ca
TB --- 2010-08-18 09:47:11 - starting HEAD tinderbox run for sparc64/sun4v
TB --- 2010-08-18 09:47:11 - cleaning the object tree
TB --- 2010-08-18 09:47:41 - cvsupping the source tree
TB --- 2010-08-18 09:47:41 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/sparc64/sun4v/supfile
TB --- 2010-08-18 09:50:08 - building world
TB --- 2010-08-18 09:50:08 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 09:50:08 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 09:50:08 - TARGET=sun4v
TB --- 2010-08-18 09:50:08 - TARGET_ARCH=sparc64
TB --- 2010-08-18 09:50:08 - TZ=UTC
TB --- 2010-08-18 09:50:08 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 09:50:08 - cd /src
TB --- 2010-08-18 09:50:08 - /usr/bin/make -B buildworld
 World build started on Wed Aug 18 09:50:09 UTC 2010
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 World build completed on Wed Aug 18 10:55:36 UTC 2010
TB --- 2010-08-18 10:55:36 - generating LINT kernel config
TB --- 2010-08-18 10:55:36 - cd /src/sys/sun4v/conf
TB --- 2010-08-18 10:55:36 - /usr/bin/make -B LINT
TB --- 2010-08-18 10:55:36 - building LINT kernel
TB --- 2010-08-18 10:55:36 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 10:55:36 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 10:55:36 - TARGET=sun4v
TB --- 2010-08-18 10:55:36 - TARGET_ARCH=sparc64
TB --- 2010-08-18 10:55:36 - TZ=UTC
TB --- 2010-08-18 10:55:36 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 10:55:36 - cd /src
TB --- 2010-08-18 10:55:36 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Wed Aug 18 10:55:37 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building the kernel
 stage 3.3: building the modules
 Kernel build for LINT completed on Wed Aug 18 11:19:24 UTC 2010
TB --- 2010-08-18 11:19:24 - building GENERIC kernel
TB --- 2010-08-18 11:19:24 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 11:19:24 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 11:19:24 - TARGET=sun4v
TB --- 2010-08-18 11:19:24 - TARGET_ARCH=sparc64
TB --- 2010-08-18 11:19:24 - TZ=UTC
TB --- 2010-08-18 11:19:24 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 11:19:24 - cd /src
TB --- 2010-08-18 11:19:24 - /usr/bin/make -B buildkernel KERNCONF=GENERIC
 Kernel build for GENERIC started on Wed Aug 18 11:19:24 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building the kernel
 stage 3.3: building the modules
--
cd /obj/sun4v.sparc64/src/sys/GENERIC; MAKEOBJDIRPREFIX=/obj/sun4v.sparc64  
MACHINE_ARCH=sparc64  MACHINE=sun4v  CPUTYPE=  
GROFF_BIN_PATH=/obj/sun4v.sparc64/src/tmp/legacy/usr/bin  
GROFF_FONT_PATH=/obj/sun4v.sparc64/src/tmp/legacy/usr/share/groff_font  
GROFF_TMAC_PATH=/obj/sun4v.sparc64/src/tmp/legacy/usr/share/tmac  
_SHLIBDIRPREFIX=/obj/sun4v.sparc64/src/tmp  VERSION=FreeBSD 8.0-STABLE amd64 
800504  INSTALL=sh /src/tools/install.sh  
PATH=/obj/sun4v.sparc64/src/tmp/legacy/usr/sbin:/obj/sun4v.sparc64/src/tmp/legacy/usr/bin:/obj/sun4v.sparc64/src/tmp/legacy/usr/games:/obj/sun4v.sparc64/src/tmp/usr/sbin:/obj/sun4v.sparc64/src/tmp/usr/bin:/obj/sun4v.sparc64/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
 /usr/bin/make KERNEL=kernel modules-all -DNO_MODULES_OBJ
make: don't know how to make modules-all. Stop
*** Error code 2

Stop in /src.
*** Error code 1

Stop in /src.
TB --- 2010-08-18 11:23:06 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2010-08-18 11:23:06 - ERROR: failed to build GENERIC kernel
TB --- 2010-08-18 11:23:06 - 4043.42 user 965.02 system 5754.09 real


http://tinderbox.freebsd.org/tinderbox-head-HEAD-sparc64-sun4v.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


CFR: Replace man/manpath/whatis/apropos with a shell script

2010-08-18 Thread Gordon Tetlow
All,

I sat down and rewrote the man tools from a relatively old codebase to a
single shell script. My original motivation was to allow multiple
configuration files so port installations did not have to mess with
/etc/manpath.config (like perl for example) when needing to manipulate the
manpath. After looking at the existing code, I figured I could rewrite it as
a shell script relatively easily.

Script (install as /usr/bin/man, /usr/bin/manpath, /usr/bin/apropos,
/usr/bin/whatis)
http://people.freebsd.org/~gordon/man.shhttp://people.freebsd.org/%7Egordon/man.sh

Features of the new code:

1. BSD licensed (old code is GPL).
2. Imports configuration from /usr/local/etc/man.d/*.conf and /etc/man.conf
(purposefully changed the manpath.config file since it is a different
syntax).
3. Allows ports to override the toolset used to display the manpage based on
language. This was done to try to merge the functionality of the
japanese/man port into the base system as much as possible.

I've tried to make this mirror the functionality, directory search order,
and arguments as the current base implementation.

This brings me to my next point. I need some testers willing to try this
out. It would be particularly great if I could get some foreign language
testers with localized manpage installations. If something doesn't work the
way you expect, please contact me and I can help debug it (using man -ddd
whatever will generally give me the debug information I need).

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


[head tinderbox] failure on powerpc64/powerpc

2010-08-18 Thread FreeBSD Tinderbox
TB --- 2010-08-18 09:18:34 - tinderbox 2.6 running on freebsd-current.sentex.ca
TB --- 2010-08-18 09:18:34 - starting HEAD tinderbox run for powerpc64/powerpc
TB --- 2010-08-18 09:18:34 - mkdir /tinderbox/HEAD/powerpc64
TB --- 2010-08-18 09:18:34 - mkdir /tinderbox/HEAD/powerpc64/powerpc
TB --- 2010-08-18 09:18:34 - cleaning the object tree
TB --- 2010-08-18 09:18:34 - cvsupping the source tree
TB --- 2010-08-18 09:18:34 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/powerpc64/powerpc/supfile
TB --- 2010-08-18 09:38:05 - building world
TB --- 2010-08-18 09:38:05 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 09:38:05 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 09:38:05 - TARGET=powerpc
TB --- 2010-08-18 09:38:05 - TARGET_ARCH=powerpc64
TB --- 2010-08-18 09:38:05 - TZ=UTC
TB --- 2010-08-18 09:38:05 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 09:38:05 - cd /src
TB --- 2010-08-18 09:38:05 - /usr/bin/make -B buildworld
 World build started on Wed Aug 18 09:38:06 UTC 2010
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 stage 5.1: building 32 bit shim libraries
 World build completed on Wed Aug 18 11:18:07 UTC 2010
TB --- 2010-08-18 11:18:07 - generating LINT kernel config
TB --- 2010-08-18 11:18:07 - cd /src/sys/powerpc/conf
TB --- 2010-08-18 11:18:07 - /usr/bin/make -B LINT
TB --- 2010-08-18 11:18:07 - building LINT kernel
TB --- 2010-08-18 11:18:07 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-18 11:18:07 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-18 11:18:07 - TARGET=powerpc
TB --- 2010-08-18 11:18:07 - TARGET_ARCH=powerpc64
TB --- 2010-08-18 11:18:07 - TZ=UTC
TB --- 2010-08-18 11:18:07 - __MAKE_CONF=/dev/null
TB --- 2010-08-18 11:18:07 - cd /src
TB --- 2010-08-18 11:18:07 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Wed Aug 18 11:18:07 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building the kernel
[...]
/src/sys/dev/ofw/ofw_standard.c:705: warning: cast to pointer from integer of 
different size
/src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_release':
/src/sys/dev/ofw/ofw_standard.c:719: warning: cast from pointer to integer of 
different size
/src/sys/dev/ofw/ofw_standard.c:724: warning: cast from pointer to integer of 
different size
/src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_enter':
/src/sys/dev/ofw/ofw_standard.c:742: warning: cast from pointer to integer of 
different size
/src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_exit':
/src/sys/dev/ofw/ofw_standard.c:760: warning: cast from pointer to integer of 
different size
*** Error code 1

Stop in /obj/powerpc.powerpc64/src/sys/LINT.
*** Error code 1

Stop in /src.
*** Error code 1

Stop in /src.
TB --- 2010-08-18 11:31:17 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2010-08-18 11:31:17 - ERROR: failed to build lint kernel
TB --- 2010-08-18 11:31:17 - 4864.50 user 1282.72 system 7963.35 real


http://tinderbox.freebsd.org/tinderbox-head-HEAD-powerpc64-powerpc.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: ZFS will gone,FreeBSD will import btrfs?

2010-08-18 Thread Oliver Brandmueller
Hi,

On Tue, Aug 17, 2010 at 09:47:00AM -0700, Xin LI wrote:
 It's not gone since Oracle can not withdraw code that is already
 licensed under CDDL.  They _may_ choose not to release anything new but
 we already have a newer zfs version that have basic functionality usable
 in p4.

So all we need to direct some of the money we already spend for 
supporting developers and certain developments to core ZFS developers no 
longer employed by Sun/Oracle and that way make FreeBSD the primary ZFS 
development platform for the future. If you have the key developers, the 
community will follow.

Before someone starts argueing... I know, it's not that easy and I don't 
have a clue how one would do that. This is most probably more like a 
crazy idea than a plan that could actually work :-/

- Oliver

-- 
| Oliver Brandmueller  http://sysadm.in/ o...@sysadm.in |
|Ich bin das Internet. Sowahr ich Gott helfe. |


pgpyMYQpaY2XO.pgp
Description: PGP signature


Re: Building world with clang

2010-08-18 Thread Dimitry Andric
On 2010-08-18 11:15, Dag-Erling Smørgrav wrote:
 I'm not a big fan of reasonable chances when it comes to the
 toolchain.

Me neither, which is why I created method 2 originally. :)  The
-isysroot method was invented by Roman Divacky in r198248.


 No, what is used is a variant of method 1 *on top of* method 2 for a
 very specific case.  You need a special version of clang (method 2)
 anyway to support cross-building.

Eventually, clang should support building objects for all targets from
one executable, but not in the short term, unfortunately...

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


Re: Building world with clang

2010-08-18 Thread Dag-Erling Smørgrav
Dimitry Andric dimi...@andric.com writes:
 Dag-Erling Smørgrav d...@des.no writes:
  No, what is used is a variant of method 1 *on top of* method 2 for a
  very specific case.  You need a special version of clang (method 2)
  anyway to support cross-building.
 Eventually, clang should support building objects for all targets from
 one executable, but not in the short term, unfortunately...

That doesn't matter.  You still need two versions of the compiler.  If
you're cross-building sprac64 on an i386 machine, for instance, you need
an i386 version of the compiler that produces sparc64 binaries *and* a
sparc64 version that produces sparc64 binaries.  The former is used only
during the build, the latter is what will be installed on the target.

DES
-- 
Dag-Erling Smørgrav - d...@des.no
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: bsdgrep does not work with tail -f | grep combination

2010-08-18 Thread Gabor Kovesdan

 Em 2010.08.18. 7:42, poyop...@puripuri.plala.or.jp escreveu:

Hi Gabor and others,

As Gabor committed r211364, bsdgrep now works nicely with tail -f.

http://svn.freebsd.org/changeset/base/211364

Thank you very much.
Acknowledgements also go to you and other users. Without quality 
feedback I may not have found myself all reported bugs.


Gabor

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


Re: Interpreted language(s) in the base

2010-08-18 Thread Andrew Reilly
On Sun, Aug 15, 2010 at 11:15:55PM -0700, Doug Barton wrote:
 got any other suggestions?

This is very much a sorry I asked question, but is none-the
less quite a good one, given the size of the hole to be plugged.

I think that a reasonable answer for this sort of thing might be
one of the dynamic languages that compiles to C, like (perhaps)
one of the schemes (chicken, gambit-C, bigloo, etc).  You get
the benefit of flexibility and dynamism with good regexp and
data structure ability, good performance, and only requiring the
build tools available in the base system, as long as you don't
want to be the developer: just ship the C code (as well as the
source, of course).

Unfortunately it seems that quite a lot of people have issues
with lisp syntax these days.

There are some other compile-to-C languages that might work too.

[Aside: I think that the answer to this question might get a
*lot* more interesting once we have llvm in the base system (it
comes along with clang).  There are (and I'm sure will be
more) languages that compile down to llvm byte-code without the
contortions required in going through C.]

Cheers,

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


Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread Kostik Belousov
On Wed, Aug 18, 2010 at 02:43:19PM +0400, pluknet wrote:
 On 18 August 2010 12:07, pluknet pluk...@gmail.com wrote:
  On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:
 
 
  Also please take a note of the John' suggestion to use the taskqueue.
 
  I decided to go this road. Thank you both.
  Now I do nfs buildkernel survive and prepare some benchmark results.
 
 
 So, I modified the patch to defer proc_create() with taskqueue(9).
 Below is `time make -j5 buildkernel WITHOUT_MODULES=yes` perf. evaluation.
 Done on 4-way CPU on clean /usr/obj with /usr/src  /usr/obj both
 nfs-mounted over 1Gbit LAN.
 
 clean old
 1137.985u 239.411s 7:42.15 298.0%   6538+2133k 87+43388io 226pf+0w
 
 clean new
 1134.755u 240.032s 7:41.25 298.0%   6553+2133k 87+43367io 224pf+0w
 
 Patch needs polishing, though it generally works.
 Not sure if shep_chan (or whatever name it will get) needs locking.
As I said yesterday, if several requests to create nfsiod coming one
after another, you would loose all but the last.

You should put the requests into the list, probably protected by
nfs_iod_mtx.


pgp3biVEZldik.pgp
Description: PGP signature


Re: Interpreted language(s) in the base

2010-08-18 Thread Luigi Rizzo
On Wed, Aug 18, 2010 at 11:43:41PM +1000, Andrew Reilly wrote:
 On Sun, Aug 15, 2010 at 11:15:55PM -0700, Doug Barton wrote:
  got any other suggestions?
 
 This is very much a sorry I asked question, but is none-the
 less quite a good one, given the size of the hole to be plugged.
 
 I think that a reasonable answer for this sort of thing might be
 one of the dynamic languages that compiles to C, like (perhaps)
 one of the schemes (chicken, gambit-C, bigloo, etc).  You get
 the benefit of flexibility and dynamism with good regexp and
 data structure ability, good performance, and only requiring the
 build tools available in the base system, as long as you don't
 want to be the developer: just ship the C code (as well as the
 source, of course).

slightly off topic but I disagree  on the latter part.

The whole point of having source code is to be able to make
modifications, small or large, private or ones to be contributed
back. As a teacher, i am very concerned about the ease-of-use for
non-developer types: it is important to make it easy for people to
experiments, as this is one of the ways people learn things.

Having sources in some fantastic new language 'fuffa' and no 'fuffa2c'
tool is almost as bad as having no source (in fact, it is like the
joke of supplying source for the GPL'd software in your brand new
LCD tv or appliance. I'd like to know who will ever be able to build
an updated image and upload it to the appliance)

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


Re: 8.1-release + zfs v15 df(1) hangs

2010-08-18 Thread Andriy Gapon
on 18/08/2010 11:23 Marian Hettwer said the following:
  Hi All,
 
 i installed freebsd 8.1-release on my workstation (based on the
 8.1-release mfsbsd isos) and I'm now experiencing some strange effects.
 
 A df(1) doesn't return and is not killable and while taking a look
 around in my process table, I could find several find's hanging around too.
 
 mhettwer  5976  0.0  0.0  6896  1088  13  D+5:55PM   0:00.00 df -h
 mhettwer  5351  0.0  0.0  6896  1088  19  D+1:49PM   0:00.00 df -h

Can you run procstat -k to see where exactly the processes are stuck?

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


Re: Mounting cd9660 multiple times gives EBUSY [Was: unionfs a little improvement]

2010-08-18 Thread Ed Schouten
* Pawel Jakub Dawidek p...@freebsd.org wrote:
 What you are trying to do here is to mount /dev/iso9660/freebsd for the
 second time? This is not supported. The check is there to prevent doing
 this, as it will panic on you when you try to unmount first mount (not
 really a problem in your case, as the first mount is /, so you probably
 don't want to unmount it, but it is a problem in general).
 
 You should be able to reproduce the panic with your patch applied by
 doing the following:
 
   # mount -t cd9660 /dev/iso9660/freebsd /mnt0
   # mount -t cd9660 /dev/iso9660/freebsd /mnt1
   # umount /mnt0

Ah, I see. Well, I changed my setup to use an md root now. Works quite
nicely. Screenshot:

http://80386.nl/pub/livecd.png

Thanks for the explanation!

-- 
 Ed Schouten e...@80386.nl
 WWW: http://80386.nl/


pgps9FfC06S09.pgp
Description: PGP signature


CFR: importing openresolv

2010-08-18 Thread Hajimu UMEMOTO
Hi,

I wish to import openresolv 3.3.5 into our base tree.  It makes
merging the DNS server addresses informed from DHCP, DHCPv6, PPP, ...
into /etc/resolv.conf easier.

http://roy.marples.name/projects/openresolv

My patch against 9-CURRENT can be obtained from:

http://www.imasy.or.jp/~ume/FreeBSD/openresolv-20100818.diff.gz

Sincerely,

--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
u...@mahoroba.org  u...@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: STABLE kernel panic: privileged instruction fault

2010-08-18 Thread Andriy Gapon
on 13/08/2010 00:45 Alexey Tarasov said the following:
 Fatal trap 1: privileged instruction fault while in kernel mode
 cpuid = 1; apic id = 01
 instruction pointer = 0x20:0xff8040d2cc83
 stack pointer   = 0x28:0xff8040d2ca80
 frame pointer   = 0x28:0xff0060c0b740

I suspect that either stack is corrupted or non-code is executed (or both).
Stack pointer seems to be too close to instruction pointer and too far from 
frame
pointer.

Can you try to use kgdb and disassemble code (or examine data) near instruction
pointer address and also near frame pointer address?
Also, you might want to rebuild kgdb with a recent change from head, so that it
better maps symbols and addresses in kernel modules.

 code segment= base 0x0, limit 0xf, type 0x1b
 = DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags= interrupt enabled, resume, IOPL = 0
 current process = 9388 (nginx)
 trap number = 1
 panic: privileged instruction fault
 cpuid = 1
 Uptime: 17d15h48m49s
 Physical memory: 2032 MB
 Dumping 1485 MB: 1470 1454 1438 1422 1406 1390 1374 1358 1342 1326 1310 1294 
 1278 1262 1246 1230 1214 1198 1182 1166 1150 1134 1118 1102 1086 1070 1054 
 1038 1022 1006 990 974 958 942 926 910 894 878 862 846 830 814 798 782 766 
 750 734 718 702 686 670 654 638 622 606 590 574 558 542 526 510 494 478 462 
 446 430 414 398 382 366 350 334 318 302 286 270 254 238 222 206 190 174 158 
 142 126 110 94 78 62 46 30 14
 
 
 (kgdb) #0  doadump () at pcpu.h:223
 #1  0x80590c59 in boot (howto=260)
 at /usr/src/sys/kern/kern_shutdown.c:416
 #2  0x8059108c in panic (fmt=0x80951fc4 %s)
 at /usr/src/sys/kern/kern_shutdown.c:579
 #3  0x80878fd8 in trap_fatal (frame=0xff0060c0b740, eva=Variable 
 eva is not available.
 )
 at /usr/src/sys/amd64/amd64/trap.c:857
 #4  0x808799ea in trap (frame=0xff8040d2c9d0)
 at /usr/src/sys/amd64/amd64/trap.c:644
 #5  0x8085f983 in calltrap ()
 at /usr/src/sys/amd64/amd64/exception.S:224
 #6  0xff8040d2cc83 in ?? ()
 #7  0xff8040d2cb50 in ?? ()
 #8  0xff8040d2caf0 in ?? ()
 #9  0xff8040d2cbf0 in ?? ()
 #10 0xff0060c0b740 in ?? ()
 #11 0x80b83c60 in sysent ()
 #12 0xff8040d2cc80 in ?? ()
 #13 0xff8040d2cae0 in ?? ()
 #14 0x8059c431 in bintime (bt=0x80ad3140)
 at /usr/src/sys/kern/kern_tc.c:200
 Previous frame inner to this frame (corrupt stack?)
 (kgdb) 



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


Re: ZFS will gone,FreeBSD will import btrfs?

2010-08-18 Thread Artem Belevich
 So all we need to direct some of the money we already spend for
 supporting developers and certain developments to core ZFS developers no
 longer employed by Sun/Oracle and that way make FreeBSD the primary ZFS
 development platform for the future. If you have the key developers, the
 community will follow.


I'd argue that we'll need pjd@ more than ever.

I don't think that ex-OpenSolaris contributors are going to jump to
FreeBSD. There's project Illumos which is essentially an OpenSolaris
fork minus binary-only bits. My guess is that it's got a decent chance
to become a viable OpenSolaris replacement. Interestingly enough,
Illumos plans to import FreeBSD drivers (and some utils) to replace
closed-source ones that used to come from Solaris.

--Artem



On Wed, Aug 18, 2010 at 5:54 AM, Oliver Brandmueller o...@e-gitt.net wrote:
 Hi,

 On Tue, Aug 17, 2010 at 09:47:00AM -0700, Xin LI wrote:
 It's not gone since Oracle can not withdraw code that is already
 licensed under CDDL.  They _may_ choose not to release anything new but
 we already have a newer zfs version that have basic functionality usable
 in p4.

 So all we need to direct some of the money we already spend for
 supporting developers and certain developments to core ZFS developers no
 longer employed by Sun/Oracle and that way make FreeBSD the primary ZFS
 development platform for the future. If you have the key developers, the
 community will follow.

 Before someone starts argueing... I know, it's not that easy and I don't
 have a clue how one would do that. This is most probably more like a
 crazy idea than a plan that could actually work :-/

 - Oliver

 --
 | Oliver Brandmueller          http://sysadm.in/         o...@sysadm.in |
 |                        Ich bin das Internet. Sowahr ich Gott helfe. |

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


Re: CFR: Replace man/manpath/whatis/apropos with a shell script

2010-08-18 Thread Alexander Best
On Wed Aug 18 10, Gordon Tetlow wrote:
 All,
 
 I sat down and rewrote the man tools from a relatively old codebase to a
 single shell script. My original motivation was to allow multiple
 configuration files so port installations did not have to mess with
 /etc/manpath.config (like perl for example) when needing to manipulate the
 manpath. After looking at the existing code, I figured I could rewrite it as
 a shell script relatively easily.
 
 Script (install as /usr/bin/man, /usr/bin/manpath, /usr/bin/apropos,
 /usr/bin/whatis)
 http://people.freebsd.org/~gordon/man.shhttp://people.freebsd.org/%7Egordon/man.sh

wow! that's great. thanks a lot. :)

could you have a look at gnu/4419? although your script seems to fix this issue
partially, when *.[0-9] and *[0-9].gz manuals exist it will choose the
uncompressed file and complain with not in gzip format.

it would be nice if your script would prefer compressed over uncompressed
manuals.

however i'm not sure if a different approach might be better. people with more
in depth knowledge might want to comment on this.

cheers.
alex

 
 Features of the new code:
 
 1. BSD licensed (old code is GPL).
 2. Imports configuration from /usr/local/etc/man.d/*.conf and /etc/man.conf
 (purposefully changed the manpath.config file since it is a different
 syntax).
 3. Allows ports to override the toolset used to display the manpage based on
 language. This was done to try to merge the functionality of the
 japanese/man port into the base system as much as possible.
 
 I've tried to make this mirror the functionality, directory search order,
 and arguments as the current base implementation.
 
 This brings me to my next point. I need some testers willing to try this
 out. It would be particularly great if I could get some foreign language
 testers with localized manpage installations. If something doesn't work the
 way you expect, please contact me and I can help debug it (using man -ddd
 whatever will generally give me the debug information I need).
 
 Thanks,
 Gordon

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


Re: Interpreted language(s) in the base

2010-08-18 Thread Andrew Milton
+---[ Luigi Rizzo ]--
| On Wed, Aug 18, 2010 at 11:43:41PM +1000, Andrew Reilly wrote:
|  On Sun, Aug 15, 2010 at 11:15:55PM -0700, Doug Barton wrote:
|   got any other suggestions?
|  
|  This is very much a sorry I asked question, but is none-the
|  less quite a good one, given the size of the hole to be plugged.
|  
|  I think that a reasonable answer for this sort of thing might be
|  one of the dynamic languages that compiles to C, like (perhaps)
|  one of the schemes (chicken, gambit-C, bigloo, etc).  You get
|  the benefit of flexibility and dynamism with good regexp and
|  data structure ability, good performance, and only requiring the
|  build tools available in the base system, as long as you don't
|  want to be the developer: just ship the C code (as well as the
|  source, of course).
| 
| slightly off topic but I disagree  on the latter part.
| 
| The whole point of having source code is to be able to make
| modifications, small or large, private or ones to be contributed
| back. As a teacher, i am very concerned about the ease-of-use for
| non-developer types: it is important to make it easy for people to
| experiments, as this is one of the ways people learn things.

I have to agree with Luigi. You have to work out your target audience,
and that should be your first constraint to choosing the language.

If the language has a syntax structure that's going to be hard to parse
by non-developers at first glance (like forth or perl), then you're really
limiting the userbase.

C is scriptable and embeddable these days from a variety of projects,
but, I wouldn't recommend that either necessarily (since C doesn't
have dynamic typing), even if we could get 100% architecture coverage.

-- 
Andrew Milton
a...@theinternet.com.au
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Rui Paulo
Hi,
I've been chatting with the ICC ex-users and they seem to be ok with the 
removal of the ICC bits from share/mk and other places. 
The reason is that it doesn't work and no one has volunteered to fix it for 
many years. This seems to indicate that the interest in ICC is low. 
If there's anyone against this, speak now or forever be silent. :-)

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


Re: Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Rui Paulo

On 18 Aug 2010, at 18:18, Garrett Cooper wrote:

 On Wed, Aug 18, 2010 at 9:23 AM, Rui Paulo rpa...@gmail.com wrote:
 Hi,
 I've been chatting with the ICC ex-users and they seem to be ok with the 
 removal of the ICC bits from share/mk and other places.
 The reason is that it doesn't work and no one has volunteered to fix it for 
 many years. This seems to indicate that the interest in ICC is low.
 If there's anyone against this, speak now or forever be silent. :-)
 
Later versions of icc are more gcc compliant aren't they? If so,
 wouldn't this also be a non-issue to remove the bits, or are there
 still some incompatibilities between gcc and icc that are worth
 noting?

I really don't know how compatible is the latest icc because no one ever 
updated the ports version. This is actually a hint that no one really uses this 
anymore.

Regards,
--
Rui Paulo


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


Re: Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Garrett Cooper
On Wed, Aug 18, 2010 at 9:23 AM, Rui Paulo rpa...@gmail.com wrote:
 Hi,
 I've been chatting with the ICC ex-users and they seem to be ok with the 
 removal of the ICC bits from share/mk and other places.
 The reason is that it doesn't work and no one has volunteered to fix it for 
 many years. This seems to indicate that the interest in ICC is low.
 If there's anyone against this, speak now or forever be silent. :-)

Later versions of icc are more gcc compliant aren't they? If so,
wouldn't this also be a non-issue to remove the bits, or are there
still some incompatibilities between gcc and icc that are worth
noting?
Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Garrett Cooper
On Wed, Aug 18, 2010 at 10:18 AM, Garrett Cooper gcoo...@freebsd.org wrote:
 On Wed, Aug 18, 2010 at 9:23 AM, Rui Paulo rpa...@gmail.com wrote:
 Hi,
 I've been chatting with the ICC ex-users and they seem to be ok with the 
 removal of the ICC bits from share/mk and other places.
 The reason is that it doesn't work and no one has volunteered to fix it for 
 many years. This seems to indicate that the interest in ICC is low.
 If there's anyone against this, speak now or forever be silent. :-)

    Later versions of icc are more gcc compliant aren't they? If so,

Sorry -- wrong term. s/compliant/compatible/ :).

 wouldn't this also be a non-issue to remove the bits, or are there
 still some incompatibilities between gcc and icc that are worth
 noting?
 Thanks,
 -Garrett

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


Re: Official request: Please make GNU grep the default

2010-08-18 Thread Gabor Kovesdan

 Em 2010.08.13. 10:43, Doug Barton escreveu:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Gabor,

I hope at this point it goes without saying that I have a lot of respect
for the work you've done on BSD grep, and I've already told you that I
think you're very courageous for taking the project on. I've been
testing and evaluating it for some time now, and I think I've given it a
fair trial. You've done a fairly good job of responding to bug reports,
and I understand that the exposure BSD grep has received as the default
in HEAD has been very valuable in exposing additional areas that need
work. However, with all that in mind I am officially asking you to
please change the default in HEAD to GNU grep. (Note, I am _not_ asking
you to remove BSD grep from the tree, just to change the default.)

My reason is simple, performance. [...]


I've just committed a patch with the kind help of Dimitry Andric, which 
gives BSD grep a huge performance boost. The performance is now almost 
comparable to GNU grep. I think with this, BSD grep may remain default 
if no other serious issues come up. Please report if you notice 
something weird.


I know about some minor issues, which aren't fixed yet. I'll be out for 
4 days as of tomorrow but when I come back I'll take care of these:

- Infinite loop when reading directory on ZFS/NFS filesystem
- Problems with context grepping

When reply, please remove core@ from CC, let's not bother them with 
this, I just wanted to let them know that I'm not neglecting this issue 
but if still demanded for a good reason, I'll switch back to default GNU 
grep.


Gabor


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


Re: Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Gabor Kovesdan

 Em 2010.08.18. 19:37, Rui Paulo escreveu:

On 18 Aug 2010, at 18:18, Garrett Cooper wrote:


On Wed, Aug 18, 2010 at 9:23 AM, Rui Paulorpa...@gmail.com  wrote:

Hi,
I've been chatting with the ICC ex-users and they seem to be ok with the 
removal of the ICC bits from share/mk and other places.
The reason is that it doesn't work and no one has volunteered to fix it for 
many years. This seems to indicate that the interest in ICC is low.
If there's anyone against this, speak now or forever be silent. :-)

Later versions of icc are more gcc compliant aren't they? If so,
wouldn't this also be a non-issue to remove the bits, or are there
still some incompatibilities between gcc and icc that are worth
noting?

I really don't know how compatible is the latest icc because no one ever 
updated the ports version. This is actually a hint that no one really uses this 
anymore.
IIRC, apart from the low interest, the problem was that because of ICC's 
license using ICC to test this mk stuff requires a commercial license 
because somehow it is considered a derivative work. It has also 
prevented us from providing better support. In 2006, I wanted to do some 
progress as part of my SoC project because that time there was more 
interest. Alexander (CC'd) may comment on this. I think he has a license 
for FreeBSD work but he is not allowed to give it out to a third party.


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


Re: Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Dimitry Andric
On 2010-08-18 19:37, Rui Paulo wrote:
 I really don't know how compatible is the latest icc because no one
 ever updated the ports version. This is actually a hint that no one
 really uses this anymore.

I recently installed the port, which has icc 8.1, but it fails to
compile even simple C++ programs, because it cannot cope with the
libstdc++ headers from g++ 4.2.1.

You have to do all kinds of tricks, such as installing the gcc 3.4.x
port, and pointing the Intel compiler to its libstdc++ headers and
libraries, or nothing will work.

Updating that port to icc 11.1 is probably not a trivial task, and
making sure it compiles programs properly is even trickier... :)
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Official request: Please make GNU grep the default

2010-08-18 Thread M. Warner Losh
In message: 4c6c1cfe.6060...@freebsd.org
Gabor Kovesdan ga...@freebsd.org writes:
: When reply, please remove core@ from CC, let's not bother them with
: this, I just wanted to let them know that I'm not neglecting this
: issue but if still demanded for a good reason, I'll switch back to
: default GNU grep.

So making it default turned out well in the end.  Sure, there was pain
involved (but this is current), but making it default exposed the pain
that would otherwise have gone unnoticed.  The big hue and cry, while
excessive at times, did result in people actually running the
profiling tools which pointed to the buffering as the number one thing
to fix.  That being fixed now, it looks like we can go to the next
stage: benchmarking again.

Thanks, Gabor and everybody else that contributed, for seeing this
through.

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


Re: Official request: Please make GNU grep the default

2010-08-18 Thread Wilko Bulte


Op 18 aug. 2010 om 18:48 heeft Gabor Kovesdan ga...@freebsd.org het volgende 
geschreven:

 Em 2010.08.13. 10:43, Doug Barton escreveu:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 Gabor,
 
 I hope at this point it goes without saying that I have a lot of respect
 for the work you've done on BSD grep, and I've already told you that I
 think you're very courageous for taking the project on. I've been
 testing and evaluating it for some time now, and I think I've given it a
 fair trial. You've done a fairly good job of responding to bug reports,
 and I understand that the exposure BSD grep has received as the default
 in HEAD has been very valuable in exposing additional areas that need
 work. However, with all that in mind I am officially asking you to
 please change the default in HEAD to GNU grep. (Note, I am _not_ asking
 you to remove BSD grep from the tree, just to change the default.)
 
 My reason is simple, performance. [...]
 
 I've just committed a patch with the kind help of Dimitry Andric, which gives 
 BSD grep a huge performance boost. The performance is now almost comparable 
 to GNU grep. I think with this, BSD grep may remain default if no other 
 serious issues come up. Please report if you notice something weird.
 
 I know about some minor issues, which aren't fixed yet. I'll be out for 4 
 days as of tomorrow but when I come back I'll take care of these:
 - Infinite loop when reading directory on ZFS/NFS filesystem
 - Problems with context grepping
 
 When reply, please remove core@ from CC, let's not bother them with this, I 
 just wanted to let them know that I'm not neglecting this issue but if still 
 demanded for a good reason,

No worries there Gabor!

Wilko

 I'll switch back to default GNU grep.
 
 Gabor
 
 
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: 8.1-release + zfs v15 df(1) hangs

2010-08-18 Thread Marian Hettwer

 Hej there,

Am 18.08.10 17:18, schrieb Andriy Gapon:

on 18/08/2010 11:23 Marian Hettwer said the following:

  Hi All,

i installed freebsd 8.1-release on my workstation (based on the
8.1-release mfsbsd isos) and I'm now experiencing some strange effects.

A df(1) doesn't return and is not killable and while taking a look
around in my process table, I could find several find's hanging around too.

mhettwer  5976  0.0  0.0  6896  1088  13  D+5:55PM   0:00.00 df -h
mhettwer  5351  0.0  0.0  6896  1088  19  D+1:49PM   0:00.00 df -h

Can you run procstat -k to see where exactly the processes are stuck?

for some reason, the stuck df and find processes are gone. And since df 
works again, I could see a nfs mount which I guessed caused the issue.


Hm, so best guess, a hanging nfs mount is not good. I remember I mounted 
it without any special options. just mount ip:/export /mnt and 
probably forgot about it.


I'll try and reproduce that tomorrow. I would say, a hanging nfs mount 
shouldn't lead to a hanging around df(1).


all the best,
Marian
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread pluknet
On 18 August 2010 17:46, Kostik Belousov kostik...@gmail.com wrote:
 On Wed, Aug 18, 2010 at 02:43:19PM +0400, pluknet wrote:
 On 18 August 2010 12:07, pluknet pluk...@gmail.com wrote:
  On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:
 
 
  Also please take a note of the John' suggestion to use the taskqueue.
 
  I decided to go this road. Thank you both.
  Now I do nfs buildkernel survive and prepare some benchmark results.
 

 So, I modified the patch to defer proc_create() with taskqueue(9).
 Below is `time make -j5 buildkernel WITHOUT_MODULES=yes` perf. evaluation.
 Done on 4-way CPU on clean /usr/obj with /usr/src  /usr/obj both
 nfs-mounted over 1Gbit LAN.

 clean old
 1137.985u 239.411s 7:42.15 298.0%       6538+2133k 87+43388io 226pf+0w

 clean new
 1134.755u 240.032s 7:41.25 298.0%       6553+2133k 87+43367io 224pf+0w

 Patch needs polishing, though it generally works.
 Not sure if shep_chan (or whatever name it will get) needs locking.
 As I said yesterday, if several requests to create nfsiod coming one
 after another, you would loose all but the last.

 You should put the requests into the list, probably protected by
 nfs_iod_mtx.


How about this patch? Still several things to ask.
1) I used malloc instance w/ M_NOWAIT, since it's called with nfs_iod_mtx held.
2) Probably busy/done gymnastics is a wrong mess. Your help is appreciated.
3) if (1) is fine, is it right to use fail: logic (i.e. set
NFSIOD_NOT_AVAILABLE)
on memory shortage? Not tested.

There are debug printf() left intentionally to see how 3 contexts run under load
to each other. I attached these messages as well if that makes sense.

-- 
wbr,
pluknet


dmesg.out
Description: Binary data
Index: sys/nfsclient/nfs_subs.c
===
--- sys/nfsclient/nfs_subs.c	(revision 211279)
+++ sys/nfsclient/nfs_subs.c	(working copy)
@@ -59,6 +59,7 @@
 #include sys/sysent.h
 #include sys/syscall.h
 #include sys/sysproto.h
+#include sys/taskqueue.h
 
 #include vm/vm.h
 #include vm/vm_object.h
@@ -117,6 +118,7 @@
 
 struct nfs_bufq	nfs_bufq;
 static struct mtx nfs_xid_mtx;
+struct task	nfs_nfsiodnew_task;
 
 /*
  * and the reverse mapping from generic to Version 2 procedure numbers
@@ -354,6 +356,7 @@
 	 */
 	mtx_init(nfs_iod_mtx, NFS iod lock, NULL, MTX_DEF);
 	mtx_init(nfs_xid_mtx, NFS xid lock, NULL, MTX_DEF);
+	TASK_INIT(nfs_nfsiodnew_task, 0, nfs_nfsiodnew_tq, NULL);
 
 	nfs_pbuf_freecnt = nswbuf / 2 + 1;
 
Index: sys/nfsclient/nfs_nfsiod.c
===
--- sys/nfsclient/nfs_nfsiod.c	(revision 211279)
+++ sys/nfsclient/nfs_nfsiod.c	(working copy)
@@ -59,6 +59,7 @@
 #include sys/fcntl.h
 #include sys/lockf.h
 #include sys/mutex.h
+#include sys/taskqueue.h
 
 #include netinet/in.h
 #include netinet/tcp.h
@@ -75,6 +76,17 @@
 
 static void	nfssvc_iod(void *);
 
+struct nfsiod_str {
+	SLIST_ENTRY(nfsiod_str) ni_list;
+	int *ni_inst;
+	int ni_iod;
+	int ni_error;
+	int ni_busy;
+	int ni_done;
+};
+static SLIST_HEAD(, nfsiod_str) nfsiodhead =
+SLIST_HEAD_INITIALIZER(nfsiodhead);
+
 static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON];
 
 SYSCTL_DECL(_vfs_nfs);
@@ -159,11 +171,34 @@
 sizeof (nfs_iodmax), sysctl_iodmax, IU,
 Max number of nfsiod kthreads);
 
+void
+nfs_nfsiodnew_tq(__unused void *arg, int pending)
+{
+	struct nfsiod_str *nip;
+
+	mtx_lock(nfs_iod_mtx);
+	SLIST_FOREACH(nip, nfsiodhead, ni_list) {
+		printf(tq: SLIST nip: %p\n, nip);
+		if (nip-ni_busy == 0) {
+			nip-ni_busy = 1;
+			break;
+		}
+	}
+	mtx_unlock(nfs_iod_mtx);
+	KASSERT(nip != NULL, (nfs_nfsiodnew_tq: nip is NULL));
+	printf(tq: nip: %p\n, nip);
+	printf(tq: ni_inst: %p\n, nip-ni_inst);
+	printf(tq: ni_iod: %d\n, nip-ni_iod);
+	nip-ni_error = kproc_create(nfssvc_iod, nip-ni_inst, NULL,
+	RFHIGHPID, 0, nfsiod %d, nip-ni_iod);
+	nip-ni_done = 1;
+}
+
 int
 nfs_nfsiodnew(int set_iodwant)
 {
-	int error, i;
-	int newiod;
+	int i, newiod, error;
+	struct nfsiod_str *nip, *nip_temp;
 
 	if (nfs_numasync = nfs_iodmax)
 		return (-1);
@@ -178,17 +213,34 @@
 		return (-1);
 	if (set_iodwant  0)
 		nfs_iodwant[i] = NFSIOD_CREATED_FOR_NFS_ASYNCIO;
+	nip = malloc(sizeof(*nip), M_TEMP, M_NOWAIT | M_ZERO);
+	if (nip == NULL)
+		goto fail;
+	nip-ni_inst = nfs_asyncdaemon + i;
+	nip-ni_iod = newiod;
+	SLIST_INSERT_HEAD(nfsiodhead, nip, ni_list);
 	mtx_unlock(nfs_iod_mtx);
-	error = kproc_create(nfssvc_iod, nfs_asyncdaemon + i, NULL, RFHIGHPID,
-	0, nfsiod %d, newiod);
+	printf(new: nip: %p\n, nip);
+	printf(new: ni_inst: %p\n, nip-ni_inst);
+	printf(new: ni_iod: %d\n, nip-ni_iod);
+	taskqueue_enqueue(taskqueue_thread, nfs_nfsiodnew_task);
 	mtx_lock(nfs_iod_mtx);
-	if (error) {
-		if (set_iodwant  0)
-			nfs_iodwant[i] = NFSIOD_NOT_AVAILABLE;
-		return (-1);
+	error = nip-ni_error;
+	SLIST_FOREACH_SAFE(nip, nfsiodhead, ni_list, nip_temp) {
+		if (nip-ni_busy != 0  nip-ni_done != 0) {
+			SLIST_REMOVE(nfsiodhead, nip, nfsiod_str, ni_list);
+			

Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread pluknet
On 18 August 2010 23:11, pluknet pluk...@gmail.com wrote:
 On 18 August 2010 17:46, Kostik Belousov kostik...@gmail.com wrote:
 On Wed, Aug 18, 2010 at 02:43:19PM +0400, pluknet wrote:
 On 18 August 2010 12:07, pluknet pluk...@gmail.com wrote:
  On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:
 
 
  Also please take a note of the John' suggestion to use the taskqueue.
 
  I decided to go this road. Thank you both.
  Now I do nfs buildkernel survive and prepare some benchmark results.
 

 So, I modified the patch to defer proc_create() with taskqueue(9).
 Below is `time make -j5 buildkernel WITHOUT_MODULES=yes` perf. evaluation.
 Done on 4-way CPU on clean /usr/obj with /usr/src  /usr/obj both
 nfs-mounted over 1Gbit LAN.

 clean old
 1137.985u 239.411s 7:42.15 298.0%       6538+2133k 87+43388io 226pf+0w

 clean new
 1134.755u 240.032s 7:41.25 298.0%       6553+2133k 87+43367io 224pf+0w

 Patch needs polishing, though it generally works.
 Not sure if shep_chan (or whatever name it will get) needs locking.
 As I said yesterday, if several requests to create nfsiod coming one
 after another, you would loose all but the last.

 You should put the requests into the list, probably protected by
 nfs_iod_mtx.


 How about this patch? Still several things to ask.
 1) I used malloc instance w/ M_NOWAIT, since it's called with nfs_iod_mtx 
 held.
 2) Probably busy/done gymnastics is a wrong mess. Your help is appreciated.
 3) if (1) is fine, is it right to use fail: logic (i.e. set
 NFSIOD_NOT_AVAILABLE)
 on memory shortage? Not tested.

 There are debug printf() left intentionally to see how 3 contexts run under 
 load
 to each other. I attached these messages as well if that makes sense.


Ah, yes. Sorry, forgot about that.

This is from last run:
1139.225u 239.873s 7:44.90 296.6%   6524+2130k 77+43153io 220pf+0w

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


Re: 8.1-release + zfs v15 df(1) hangs

2010-08-18 Thread Andriy Gapon
on 18/08/2010 22:07 Marian Hettwer said the following:
 I'll try and reproduce that tomorrow. I would say, a hanging nfs mount
 shouldn't lead to a hanging around df(1).

See df -n.

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


Re: Removal of ICC (intel compiler) bits from mk

2010-08-18 Thread Garrett Cooper
On Wed, Aug 18, 2010 at 10:56 AM, Dimitry Andric dimi...@andric.com wrote:
 On 2010-08-18 19:37, Rui Paulo wrote:
 I really don't know how compatible is the latest icc because no one
 ever updated the ports version. This is actually a hint that no one
 really uses this anymore.

 I recently installed the port, which has icc 8.1, but it fails to
 compile even simple C++ programs, because it cannot cope with the
 libstdc++ headers from g++ 4.2.1.

 You have to do all kinds of tricks, such as installing the gcc 3.4.x
 port, and pointing the Intel compiler to its libstdc++ headers and
 libraries, or nothing will work.

 Updating that port to icc 11.1 is probably not a trivial task, and
 making sure it compiles programs properly is even trickier... :)

Yeah... I was referring to icc 11.x because of work that my old
group was looking at doing back when I was working on Linux. Anything
older than that probably has compatibility issues :).
Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread John Baldwin
On Wednesday, August 18, 2010 3:17:56 pm pluknet wrote:
 On 18 August 2010 23:11, pluknet pluk...@gmail.com wrote:
  On 18 August 2010 17:46, Kostik Belousov kostik...@gmail.com wrote:
  On Wed, Aug 18, 2010 at 02:43:19PM +0400, pluknet wrote:
  On 18 August 2010 12:07, pluknet pluk...@gmail.com wrote:
   On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:
  
  
   Also please take a note of the John' suggestion to use the taskqueue.
  
   I decided to go this road. Thank you both.
   Now I do nfs buildkernel survive and prepare some benchmark results.
  
 
  So, I modified the patch to defer proc_create() with taskqueue(9).
  Below is `time make -j5 buildkernel WITHOUT_MODULES=yes` perf. 
evaluation.
  Done on 4-way CPU on clean /usr/obj with /usr/src  /usr/obj both
  nfs-mounted over 1Gbit LAN.
 
  clean old
  1137.985u 239.411s 7:42.15 298.0%   6538+2133k 87+43388io 226pf+0w
 
  clean new
  1134.755u 240.032s 7:41.25 298.0%   6553+2133k 87+43367io 224pf+0w
 
  Patch needs polishing, though it generally works.
  Not sure if shep_chan (or whatever name it will get) needs locking.
  As I said yesterday, if several requests to create nfsiod coming one
  after another, you would loose all but the last.
 
  You should put the requests into the list, probably protected by
  nfs_iod_mtx.
 
 
  How about this patch? Still several things to ask.
  1) I used malloc instance w/ M_NOWAIT, since it's called with nfs_iod_mtx 
held.
  2) Probably busy/done gymnastics is a wrong mess. Your help is 
appreciated.
  3) if (1) is fine, is it right to use fail: logic (i.e. set
  NFSIOD_NOT_AVAILABLE)
  on memory shortage? Not tested.
 
  There are debug printf() left intentionally to see how 3 contexts run 
under load
  to each other. I attached these messages as well if that makes sense.
 
 
 Ah, yes. Sorry, forgot about that.

Your task handler needs to run in a loop until the list of requests is empty.  
If multiple threads call taskqueue_enqueue() before your task is scheduled, 
they will be consolidated down to a single call of your task handler.

-   int error, i;
-   int newiod;
+   int i, newiod, error;

You should sort these alphabetically if you are going to change this.  I would 
probably just leave it as-is.

Also, I'm not sure how this works as you don't actually wait for the task to 
complete.  If the taskqueue_enqueue() doesn't preempt, then you may read 
ni_error as zero before the kproc has actually been created and return success 
even though an nfsiod hasn't been created.

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


Re: Official request: Please make GNU grep the default

2010-08-18 Thread Peter Jeremy
On 2010-Aug-17 22:29:46 +0200, Dimitry Andric dimi...@andric.com wrote:
On 2010-08-17 18:29, Alan Cox wrote:
 Try it again on a memory resident file with the MAP_PREFAULT_READ option
 that is provided by this patch:
 
 http://www.cs.rice.edu/~alc/MAP_PREFAULT_READ.patch

A time trial gives:

  grep with normal mmap()   1396s
  grep with prefault mmap() 1354s
  grep with regular read()  1354s

Is this with uncached (ie remount the filesystem on each test) or cached
data?  Which filesystem (and does it change for different filesystems
(particularly between UFS and ZFS))?

And one trial is not statistically valid - especially given the small
differences.  How about multiple multiple trials with ministat.

-- 
Peter Jeremy


pgpPvNHrEZWZQ.pgp
Description: PGP signature


Re: Official request: Please make GNU grep the default

2010-08-18 Thread Dimitry Andric
On 2010-08-18 22:52, Peter Jeremy wrote:
  grep with normal mmap()   1396s
  grep with prefault mmap() 1354s
  grep with regular read()  1354s
 
 Is this with uncached (ie remount the filesystem on each test) or cached
 data?

This is all on the same filesystem, and the test file is ~370MB, so
eventually all data will be in RAM, most likely.  E.g. normal mmap()
seems to add a bit of overhead that explains the slower result.


 Which filesystem (and does it change for different filesystems
 (particularly between UFS and ZFS))?

I only checked on UFS2.


 And one trial is not statistically valid - especially given the small
 differences.  How about multiple multiple trials with ministat.

The result were averages of three trials; they were fairly close to each
other, but I didn't calculate the standard deviation.  I was not aware
of ministat, which looks like a real handy program. :)
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: CFR: Replace man/manpath/whatis/apropos with a shell script

2010-08-18 Thread Gordon Tetlow
On Wed, Aug 18, 2010 at 12:11 AM, Gordon Tetlow gor...@tetlows.org wrote:

 All,

 I sat down and rewrote the man tools from a relatively old codebase to a
 single shell script. My original motivation was to allow multiple
 configuration files so port installations did not have to mess with
 /etc/manpath.config (like perl for example) when needing to manipulate the
 manpath. After looking at the existing code, I figured I could rewrite it as
 a shell script relatively easily.

 Script (install as /usr/bin/man, /usr/bin/manpath, /usr/bin/apropos,
 /usr/bin/whatis)
 http://people.freebsd.org/~gordon/man.shhttp://people.freebsd.org/%7Egordon/man.sh

 Features of the new code:

 1. BSD licensed (old code is GPL).
 2. Imports configuration from /usr/local/etc/man.d/*.conf and /etc/man.conf
 (purposefully changed the manpath.config file since it is a different
 syntax).
 3. Allows ports to override the toolset used to display the manpage based
 on language. This was done to try to merge the functionality of the
 japanese/man port into the base system as much as possible.

 I've tried to make this mirror the functionality, directory search order,
 and arguments as the current base implementation.

 This brings me to my next point. I need some testers willing to try this
 out. It would be particularly great if I could get some foreign language
 testers with localized manpage installations. If something doesn't work the
 way you expect, please contact me and I can help debug it (using man -ddd
 whatever will generally give me the debug information I need).

 Thanks,
 Gordon


I did some additional testing with the japanese/man-doc port and found the
following was necessary:

1. Install my script as /usr/bin/man
2. Install japanese/man-doc
3. Create a /usr/local/etc/man.d/ja-man-doc.conf with the following
contents:

EQN_JA /usr/local/bin/geqn
COL_JA /bin/cat
NROFF_JA /usr/local/bin/groff -S -Wall -mtty-char -man -Tnippon
-dlang=ja_JP.eucJP
PIC_JA /usr/local/bin/gpic
TBL_JA /usr/local/bin/gtbl
TROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.eucJP
MANLOCALE ja_JP.eucJP

4. Create a symlink from /usr/share/man/ja.eucJP - /usr/local/man/ja
5. Set LC_CTYPE=ja_JP.eucJP
6. man ls

When all is said and done, 3 should be handled by the man-doc port while 4
is a problem.

The current base system man uses the following search order for localized
manpages (which I have emulated):

Look in
/usr/share/man/lang.enc
/usr/share/man/
...
/usr/local/man//lang.enc
/usr/local/man/
...

Without step 4 from above, if you were to attempt to get a localized manpage
for ls(1) that resides in /usr/local/man/lang.enc, you would never see
it because the english language manpage in /usr/share/man would be found
first. The japanese man port gets around this by installing their own man
implementation (jman) forcing /usr/local/man/ja before /usr/share/man in
the search order. I'm interested in feedback about whether the search order
should change or if I should leave it as is.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Official request: Please make GNU grep the default

2010-08-18 Thread Dimitry Andric
On 2010-08-18 23:12, Dimitry Andric wrote:
 And one trial is not statistically valid - especially given the small
 differences.  How about multiple multiple trials with ministat.
 
 The result were averages of three trials

Actually, since I kept using Doug's original grep-time-trial.sh, each of
the three 'trials' consisted of running grep 100 times, and the listed
time was the total elapsed time for those 100 runs.  So I assume that
will reasonably average out the differences between each individual run?

Also, I'm not sure if the actual disk/fs reading performance will differ
much between GNU grep and any other grep, since they will all basically
read through the whole test file sequentially.  For instance, when I
profiled GNU grep with gprof, the top time results were:

  %   cumulative   self  self total
 time   seconds   secondscalls  ms/call  ms/call  name
 99.1   0.59 0.5911497 0.05 0.05  read [5]
  0.6   0.59 0.0011497 0.00 0.00  kwsexec [8]
  0.1   0.59 0.000  100.00%   .mcount (130)
  0.1   0.59 0.001 0.62   594.77  grepfile [3]
  0.1   0.60 0.0011496 0.00 0.00  memmove [9]
  0.0   0.60 0.004 0.03 0.03  memchr [10]
  0.0   0.60 0.0012541 0.00 0.00  memset [16]
  0.0   0.60 0.0011497 0.00 0.00  EGexecute [7]
  0.0   0.60 0.0011497 0.00 0.05  fillbuf [4]
  0.0   0.60 0.0011497 0.00 0.00  grepbuf [6]

E.g. it looks like most of the time is spent in the read system call.
If mmap'ing can help improve that, it would be nice, but I suspect the
gains would be marginal.

The actual performance difference is much more likely to be related to
how efficiently grep parses out lines, and searches for regexps in
there.  BSD grep still has quite some room for improvement in that
department.

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


Re: Interpreted language(s) in the base

2010-08-18 Thread Andrew Reilly
Hi Luigi,

On 19/08/2010, at 00:28 , Luigi Rizzo wrote:

 slightly off topic but I disagree  on the latter part.

I didn't expect everyone to agree.  Not sure that I do, necessarily, either.  
(A neat, small language like TCL or Lua is probably better for most of the uses 
we're discussing here.)  Just making a low-impact suggestion to the problem of 
making use of a higher-level language than C while not dragging large lumps of 
code into core, or accumulating maintenance issues.

 The whole point of having source code is to be able to make
 modifications, small or large, private or ones to be contributed
 back. As a teacher, i am very concerned about the ease-of-use for
 non-developer types: it is important to make it easy for people to
 experiments, as this is one of the ways people learn things.

I'm not making any suggestion about preventing or discouraging tinkering.  
After all, we used to carry f2c around in the base, in order to support Fortran 
code.  There's no particular reason *not* to provide the front-end for 
(whatever language), but so long as it's readily available in ports, and 
build-able form a base config, I don't see that being in base is essential.

 Having sources in some fantastic new language 'fuffa' and no 'fuffa2c'
 tool is almost as bad as having no source.

This is an opinion I certainly don't share.  There are many languages that I 
don't like but that doesn't make them useful, or even best-for-purpose in their 
niche.  (a) I'm not suggesting that we don't provide source, and (b) learning a 
new language is an excellent excellent exercise for students, and one that 
they're going to have to go through often, for the rest of their careers.

 (in fact, it is like the
 joke of supplying source for the GPL'd software in your brand new
 LCD tv or appliance. I'd like to know who will ever be able to build
 an updated image and upload it to the appliance)

It's nothing of the sort, of course.  In the scenario I suggested, the task of 
updating the putative program would involve the editors available in base, to 
edit the source shipped with the system.  Only the compilation of the edited 
source might or might not be gated by installing the port for the putative 
compiler.  Several of the examples I gave originally come with an interpreter 
and debugging environment, so even that potential argument need not be a 
blocker.  Not a high bar to entry, I suggest.

Cheers,

-- 
Andrew

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


Re: CFR: Replace man/manpath/whatis/apropos with a shell script

2010-08-18 Thread Anonymous
Gordon Tetlow gor...@tetlows.org writes:

 I've tried to make this mirror the functionality, directory search order,
 and arguments as the current base implementation.

 This brings me to my next point. I need some testers willing to try this
 out. It would be particularly great if I could get some foreign language
 testers with localized manpage installations. If something doesn't work the
 way you expect, please contact me and I can help debug it (using man -ddd
 whatever will generally give me the debug information I need).

It doesn't search in bin/../man nor in bin/.man. For example,
my PATH contains $LOCALBASE/bin:$HOME/.bin, while /etc/manpath.config
is default one and contains /usr/local/man which does not exist here.

  $ man -w mplayer rsync
  HOME/.bin/man/man1/mplayer.1
  LOCALBASE/man/man1/rsync.1.gz

  $ echo $PATH
  
LOCALBASE/libexec/ccache:HOME/.bin:LOCALBASE/sbin:LOCALBASE/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:HOME/blah/bin

Unfortunately, if ~/.bin is in PATH it still will not search in ~/.man
without touching MANPATH.

But with man.sh it doesn't respect PATH at all.

  $ man -ddd -w mplayer rsync
  -- Using architecture: amd64:amd64
  -- Using pager: less
  -- Using manual sections: 1:1aout:8:2:3:n:4:5:6:7:9:l
  -- Using manual path: /usr/share/man:/usr/share/openssl/man:/usr/local/man
  -- Using locale paths: en_US.UTF-8:en.UTF-8:.
  -- Searching for mplayer
  -- Searching section 1
  --   Searching directory /usr/share/man/en.UTF-8/man1
  --   Searching directory /usr/share/man/man1
  --   Searching directory /usr/share/openssl/man/man1
  -- Searching section 1aout
  --   Searching directory /usr/share/man/en.UTF-8/man1aout
  --   Searching directory /usr/share/man/man1aout
  -- Searching section 8
  --   Searching directory /usr/share/man/en.UTF-8/man8/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man8/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man8
  --   Searching directory /usr/share/man/man8/amd64
  --   Searching directory /usr/share/man/man8/amd64
  --   Searching directory /usr/share/man/man8
  -- Searching section 2
  --   Searching directory /usr/share/man/en.UTF-8/man2
  --   Searching directory /usr/share/man/man2
  -- Searching section 3
  --   Searching directory /usr/share/man/en.UTF-8/man3
  --   Searching directory /usr/share/man/man3
  --   Searching directory /usr/share/openssl/man/man3
  -- Searching section n
  -- Searching section 4
  --   Searching directory /usr/share/man/en.UTF-8/man4/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man4/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man4
  --   Searching directory /usr/share/man/man4/amd64
  --   Searching directory /usr/share/man/man4/amd64
  --   Searching directory /usr/share/man/man4
  -- Searching section 5
  --   Searching directory /usr/share/man/en.UTF-8/man5
  --   Searching directory /usr/share/man/man5
  -- Searching section 6
  --   Searching directory /usr/share/man/en.UTF-8/man6
  --   Searching directory /usr/share/man/man6
  -- Searching section 7
  --   Searching directory /usr/share/man/en.UTF-8/man7
  --   Searching directory /usr/share/man/man7
  -- Searching section 9
  --   Searching directory /usr/share/man/en.UTF-8/man9
  --   Searching directory /usr/share/man/man9
  -- Searching section l
  No manual entry for mplayer
  -- Searching for rsync
  -- Searching section 1
  --   Searching directory /usr/share/man/en.UTF-8/man1
  --   Searching directory /usr/share/man/man1
  --   Searching directory /usr/share/openssl/man/man1
  -- Searching section 1aout
  --   Searching directory /usr/share/man/en.UTF-8/man1aout
  --   Searching directory /usr/share/man/man1aout
  -- Searching section 8
  --   Searching directory /usr/share/man/en.UTF-8/man8/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man8/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man8
  --   Searching directory /usr/share/man/man8/amd64
  --   Searching directory /usr/share/man/man8/amd64
  --   Searching directory /usr/share/man/man8
  -- Searching section 2
  --   Searching directory /usr/share/man/en.UTF-8/man2
  --   Searching directory /usr/share/man/man2
  -- Searching section 3
  --   Searching directory /usr/share/man/en.UTF-8/man3
  --   Searching directory /usr/share/man/man3
  --   Searching directory /usr/share/openssl/man/man3
  -- Searching section n
  -- Searching section 4
  --   Searching directory /usr/share/man/en.UTF-8/man4/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man4/amd64
  --   Searching directory /usr/share/man/en.UTF-8/man4
  --   Searching directory /usr/share/man/man4/amd64
  --   Searching directory /usr/share/man/man4/amd64
  --   Searching directory /usr/share/man/man4
  -- Searching section 5
  --   Searching directory /usr/share/man/en.UTF-8/man5
  --   Searching directory /usr/share/man/man5
  -- Searching section 6
  --   Searching directory /usr/share/man/en.UTF-8/man6
  --   Searching directory 

Re: CFR: Replace man/manpath/whatis/apropos with a shell script

2010-08-18 Thread Anonymous
Anonymous swel...@gmail.com writes:

 Gordon Tetlow gor...@tetlows.org writes:

 I've tried to make this mirror the functionality, directory search order,
 and arguments as the current base implementation.

 This brings me to my next point. I need some testers willing to try this
 out. It would be particularly great if I could get some foreign language
 testers with localized manpage installations. If something doesn't work the
 way you expect, please contact me and I can help debug it (using man -ddd
 whatever will generally give me the debug information I need).

 It doesn't search in bin/../man nor in bin/.man.
 
Oops, I meant bin/man there.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580

2010-08-18 Thread Rick Macklem
 On 18 August 2010 12:07, pluknet pluk...@gmail.com wrote:
  On 17 August 2010 20:04, Kostik Belousov kostik...@gmail.com wrote:
 
 
  Also please take a note of the John' suggestion to use the taskqueue.
 
  I decided to go this road. Thank you both.
  Now I do nfs buildkernel survive and prepare some benchmark results.
 
 
I'm away from home, so I can only do email and haven't looked at the
patch, but I think you might want to consider avoiding the malloc()
failure by calling malloc(... M_WAITOK); before grabbing the mutex.
Then, set the pointer to NULL if you use it and free it at the end
(I tend to test for non-NULL before calling free(), but others have
pointed out that this isn't necessary.)

I believe this is called Dykstra's technique, although I used it
a lot before I found out it had been published.

I think handling the case where malloc() fails correctly could
be difficult which is why I suggested the above.

Good luck with the patch, rick


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


unionfs a little improvement

2010-08-18 Thread Daichi GOTO

Hi Ed and unionfs fan gyus.

Ed pointed out a contradict behavior between current
unionfs implementation and its manual, and sent me a
patch.

Thanks Ed ;)


Index: sys/fs/unionfs/union_vfsops.c
===
--- sys/fs/unionfs/union_vfsops.c   (revision 211093)
+++ sys/fs/unionfs/union_vfsops.c   (working copy)
@@ -89,7 +89,6 @@
u_short ufile;
unionfs_copymode copymode;
unionfs_whitemode whitemode;
-   struct componentname fakecn;
struct nameidata nd, *ndp;
struct vattrva;

@@ -280,26 +279,6 @@
mp-mnt_flag |= ump-um_uppervp-v_mount-mnt_flag  MNT_RDONLY;

/*
-* Check whiteout
-*/
-   if ((mp-mnt_flag  MNT_RDONLY) == 0) {
-   memset(fakecn, 0, sizeof(fakecn));
-   fakecn.cn_nameiop = LOOKUP;
-   fakecn.cn_thread = td;
-   error = VOP_WHITEOUT(ump-um_uppervp, fakecn, LOOKUP);
-   if (error) {
-   if (below) {
-   VOP_UNLOCK(ump-um_uppervp, 0);
-   vrele(upperrootvp);
-   } else
-   vput(ump-um_uppervp);
-   free(ump, M_UNIONFSMNT);
-   mp-mnt_data = NULL;
-   return (error);
-   }
-   }
-
-   /*
 * Unlock the node
 */
VOP_UNLOCK(ump-um_uppervp, 0);



Ed's message here:


Just for fun I was hacking on a writable bootcd, using unionfs and
tmpfs. I noticed tmpfs doesn't support whiteouts (yet). This prevents
unionfs from mounting tmpfs on top. I do want to be able to use tmpfs,
even if it means we can't get any whiteouts.

The manpage says the following:

Without whiteout support from the file system backing the upper layer,
there is no way that delete and rename operations on lower layer 
objects

can be done.  EROFS is returned for this kind of operations along with
any others which would make modifications to the lower layer, such as
chmod(1).

This seems to contradict the current behaviour, which is to deny the
mount altogether. The attached patch makes it work, but instead of
EROFS, it now returns EOPNOTSUPP, as generated by VOP_WHITEOUT().



It looks like reasonable and patch is simple and effective I guess.
If you unionfs guys or fs guys have some ideas around this patch,
please teach me.

After some tests and a couple of weeks after, I'll commit ed's patch
if there is no objections.

--
Daichi GOTO
CEO | ONGS Inc.
81-42-316-7945 | dai...@ongs.co.jp | http://www.ongs.co.jp
LinkedIn: http://linkedin.com/in/daichigoto
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: 8.1-release + zfs v15 df(1) hangs

2010-08-18 Thread jhell
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/18/2010 15:46, Andriy Gapon wrote:
 on 18/08/2010 22:07 Marian Hettwer said the following:
 I'll try and reproduce that tomorrow. I would say, a hanging nfs mount
 shouldn't lead to a hanging around df(1).
 
 See df -n.
 

Going with this  making an addition.

I usually add this to my periodic.conf:
daily_status_disks_df_flags=-h -i -t ufs,zfs

Adding '-c' for a system that has ZFS produces results that are not
correct for a total, but stating it more for reference. It might make
sense to patch df(1) so it looks at the begging portion of the
file-system up to the first '/' and get the value for free and used from
that but this is tricky when refreserved, quota and other properties
come into play and is a little beyond what df is meant for. But that
subject is for another thread.

I do wonder if it would make sense to just split the daily_status_disks*
into daily_status_{FILESYSTEM} to look like this
daily_status_ufs_df_flags etc... and keep daily_status_disks_df to be
defined as daily_status_disks_df=ufs zfs xfs

Ignore random babbling meant to spur thought. ;)


Regards,

- -- 

 jhell,v
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.16 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJMbIQnAAoJEJBXh4mJ2FR+1lkH/3UbwkUE0L7AbivsIc1bjZA6
R+6lVv80xquXrgxZiMZWAhd40fqaduztM9hWzicL2yEVIsg+lp1WE4IRo2pyUdFs
ZTDsa3RcDpXeTt2NmUdMHefd0RC0aRrrAmf1JGifUs2/UNHpT/5PP1fIl783P71J
z8VFNcGcCmCSUcSdg8I14LDoFAqfbA0DkpTDyYrQVcHmNEp7aBgvJBNF+9/3y4R9
wC6+CbPVy93L3yOmxIfEM88oHtq4zfMRLcNreMAx+bQntzM7bA2xJrXV8Zkt5Jok
RFqE7TScKyE89YulkosSFMs1OK0SwTFDHZdAIO4mM4V9mVcaaZ8iWTiGrlZRxoQ=
=Kf91
-END PGP SIGNATURE-
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: CFR: Replace man/manpath/whatis/apropos with a shell script

2010-08-18 Thread Hiroki Sato
Gordon Tetlow gor...@freebsd.org wrote
  in aanlktikw3j5hbrz0gjpbab=8urfnkgjm069i8ennx...@mail.gmail.com:

go On Wed, Aug 18, 2010 at 12:11 AM, Gordon Tetlow gor...@tetlows.org wrote:
go
go  All,
go 
go  I sat down and rewrote the man tools from a relatively old codebase to a
go  single shell script. My original motivation was to allow multiple
go  configuration files so port installations did not have to mess with
go  /etc/manpath.config (like perl for example) when needing to manipulate the
go  manpath. After looking at the existing code, I figured I could rewrite it 
as
go  a shell script relatively easily.
go 
go  Script (install as /usr/bin/man, /usr/bin/manpath, /usr/bin/apropos,
go  /usr/bin/whatis)
go  
http://people.freebsd.org/~gordon/man.shhttp://people.freebsd.org/%7Egordon/man.sh
go 
go  Features of the new code:
go 
go  1. BSD licensed (old code is GPL).
go  2. Imports configuration from /usr/local/etc/man.d/*.conf and 
/etc/man.conf
go  (purposefully changed the manpath.config file since it is a different
go  syntax).
go  3. Allows ports to override the toolset used to display the manpage based
go  on language. This was done to try to merge the functionality of the
go  japanese/man port into the base system as much as possible.
go 
go  I've tried to make this mirror the functionality, directory search order,
go  and arguments as the current base implementation.
go 
go  This brings me to my next point. I need some testers willing to try this
go  out. It would be particularly great if I could get some foreign language
go  testers with localized manpage installations. If something doesn't work 
the
go  way you expect, please contact me and I can help debug it (using man -ddd
go  whatever will generally give me the debug information I need).
go 
go  Thanks,
go  Gordon
go 
go
go I did some additional testing with the japanese/man-doc port and found the
go following was necessary:

 Great, I will test it and get back to you!

-- Hiroki


pgpQyXyxPu4Qz.pgp
Description: PGP signature


[head tinderbox] failure on powerpc64/powerpc

2010-08-18 Thread FreeBSD Tinderbox
TB --- 2010-08-19 01:12:25 - tinderbox 2.6 running on freebsd-current.sentex.ca
TB --- 2010-08-19 01:12:25 - starting HEAD tinderbox run for powerpc64/powerpc
TB --- 2010-08-19 01:12:25 - cleaning the object tree
TB --- 2010-08-19 01:13:00 - cvsupping the source tree
TB --- 2010-08-19 01:13:00 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/powerpc64/powerpc/supfile
TB --- 2010-08-19 01:13:18 - building world
TB --- 2010-08-19 01:13:18 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-19 01:13:18 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-19 01:13:18 - TARGET=powerpc
TB --- 2010-08-19 01:13:18 - TARGET_ARCH=powerpc64
TB --- 2010-08-19 01:13:18 - TZ=UTC
TB --- 2010-08-19 01:13:18 - __MAKE_CONF=/dev/null
TB --- 2010-08-19 01:13:18 - cd /src
TB --- 2010-08-19 01:13:18 - /usr/bin/make -B buildworld
 World build started on Thu Aug 19 01:13:21 UTC 2010
 Rebuilding the temporary build tree
 stage 1.1: legacy release compatibility shims
 stage 1.2: bootstrap tools
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3: cross tools
 stage 4.1: building includes
 stage 4.2: building libraries
 stage 4.3: make dependencies
 stage 4.4: building everything
 stage 5.1: building 32 bit shim libraries
 World build completed on Thu Aug 19 02:51:08 UTC 2010
TB --- 2010-08-19 02:51:08 - generating LINT kernel config
TB --- 2010-08-19 02:51:08 - cd /src/sys/powerpc/conf
TB --- 2010-08-19 02:51:08 - /usr/bin/make -B LINT
TB --- 2010-08-19 02:51:08 - building LINT kernel
TB --- 2010-08-19 02:51:08 - MAKEOBJDIRPREFIX=/obj
TB --- 2010-08-19 02:51:08 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2010-08-19 02:51:08 - TARGET=powerpc
TB --- 2010-08-19 02:51:08 - TARGET_ARCH=powerpc64
TB --- 2010-08-19 02:51:08 - TZ=UTC
TB --- 2010-08-19 02:51:08 - __MAKE_CONF=/dev/null
TB --- 2010-08-19 02:51:08 - cd /src
TB --- 2010-08-19 02:51:08 - /usr/bin/make -B buildkernel KERNCONF=LINT
 Kernel build for LINT started on Thu Aug 19 02:51:08 UTC 2010
 stage 1: configuring the kernel
 stage 2.1: cleaning up the object tree
 stage 2.2: rebuilding the object tree
 stage 2.3: build tools
 stage 3.1: making dependencies
 stage 3.2: building everything
[...]
/src/sys/dev/ofw/ofw_standard.c:705: warning: cast to pointer from integer of 
different size
/src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_release':
/src/sys/dev/ofw/ofw_standard.c:719: warning: cast from pointer to integer of 
different size
/src/sys/dev/ofw/ofw_standard.c:724: warning: cast from pointer to integer of 
different size
/src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_enter':
/src/sys/dev/ofw/ofw_standard.c:742: warning: cast from pointer to integer of 
different size
/src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_exit':
/src/sys/dev/ofw/ofw_standard.c:760: warning: cast from pointer to integer of 
different size
*** Error code 1

Stop in /obj/powerpc.powerpc64/src/sys/LINT.
*** Error code 1

Stop in /src.
*** Error code 1

Stop in /src.
TB --- 2010-08-19 03:04:31 - WARNING: /usr/bin/make returned exit code  1 
TB --- 2010-08-19 03:04:31 - ERROR: failed to build lint kernel
TB --- 2010-08-19 03:04:31 - 4834.63 user 1183.45 system 6726.66 real


http://tinderbox.freebsd.org/tinderbox-head-HEAD-powerpc64-powerpc.full
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org