Re: CFR: FEATURE macros for AUDIT/CAM/IPC/KTR/MAC/NFS/NTP/PMC/SYSV/...

2011-02-11 Thread Anonymous
Alexander Leidinger alexan...@leidinger.net writes:

 Hi,

 during the last GSoC various FEATURE macros where added to the system.
 Before committing them, I would like to get some review (like if macro
 is in the correct file, and for those FEATURES where the description
 was not taken from NOTES if the description is OK).

 If nobody complains, I would like to commit this in 1-2 weeks. If you
 need more time to review, just tell me.
[...]
 Index: kern/kern_dtrace.c
[...]
 +FEATURE(kdtrace_hooks,
 +Kernel DTrace hooks which are required to load DTrace kernel modules);
 +
[...]
 Index: kern/kern_lockstat.c
[...]
 +FEATURE(kdtrace_hooks, Kernel DTRACE hooks);

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


Re: broken INCLUDE in sys/conf/kern.pre.mk for opensolaris code?

2011-02-03 Thread Anonymous
Alexander Best arun...@freebsd.org writes:

 On Wed Feb  2 11, Anonymous wrote:
 -Wmissing-include-dirs (with -Werror) is there to catch such cases.
 Try to add it to CWARNFLAGS and see if universe build passes.
 
 Note, clang doesn't support it and it's broken in our gcc but there is a
 simple fix, unfortunately, under gplv3.

 could you point me to that gcc gplv3 fix?

I can't reproduce the bug on /head anymore, e.g. unlike on 8.2-RC2.

   http://docs.freebsd.org/cgi/mid.cgi?20081021054625.GA66977
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: broken INCLUDE in sys/conf/kern.pre.mk for opensolaris code?

2011-02-02 Thread Anonymous
Alexander Best arun...@freebsd.org writes:

 On Wed Feb  2 11, Sergey Kandaurov wrote:
 On 6 January 2011 04:40, Alexander Best arun...@freebsd.org wrote:
  hi there,
 
  while building target buildkernel with 'clang -v' i noticed a lot of these
  lines:
 
  ignoring nonexistent directory 
  /usr/subversion-src/sys/contrib/opensolaris/compat
 
  i checked sys/conf/kern.pre.mk and there's a line refering to a 
  non-existing
  directory:
 
  # ... and OpenSolaris
  INCLUDES+= -I$S/contrib/opensolaris/compat
 
 Hi, I just removed that path in r218189.

 thanks a bunch. :)

 i might do a 'make universe' build at some point with clang -v in order to
 check, if there are more cases where non-existing include paths exist in the
 freebsd src.

-Wmissing-include-dirs (with -Werror) is there to catch such cases.
Try to add it to CWARNFLAGS and see if universe build passes.

Note, clang doesn't support it and it's broken in our gcc but there is a
simple fix, unfortunately, under gplv3.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: What does the FreeBSD/i386 ABI say about stack alignment?

2011-01-23 Thread Anonymous
Alexander Best arun...@freebsd.org writes:

 otaku% ./mplayer ~/filme/wiedhow.mkv
 MPlayer SVN-r32787-4.6.0 (C) 2000-2011 MPlayer Team
 161 audio  350 video codecs

 Playing /home/arundel/filme/wiedhow.mkv.
 zsh: illegal hardware instruction (core dumped)  ./mplayer 
 ~/filme/wiedhow.mkv
 otaku% echo $?
 132

 just wanted to report that the issue i was having with mplayer vanished. so it
 seems this was in fact a bug in mplayer itself.

Did you update lang/gcc46 recently? I've seen many similar bugs on *the*
devel branch of GCC, i.e. gcc46 and before 4.5.0 release on gcc45.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: getting a list of open files versus PID nos.?

2010-12-08 Thread Anonymous
Bruce Cran br...@cran.org.uk writes:

 On Wed, 8 Dec 2010 14:54:57 -0800
 Matthew Fleming mdf...@gmail.com wrote:

 This is what lsof is for.  I believe there's one in ports, but I have
 never tried it.

 Is there any advantage to using lsof instead of fstat(1) (fstat -p pid)?

procstat(1) can display actual files instead of inodes, e.g.

  $ procstat -f $(pgrep qemu)
PID COMM   FD T V FLAGSREF  OFFSET PRO NAME
  14300 qemu-system-x86_64  cwd v d    -   - -   /home/holo
  14300 qemu-system-x86_64 root v d    -   - -   /
  14300 qemu-system-x86_640 v c rw--   6 3247126 -   /dev/pts/4
  14300 qemu-system-x86_641 v c rw--   6 3247126 -   /dev/pts/4
  14300 qemu-system-x86_642 v c rw--   6 3247126 -   /dev/pts/4
  14300 qemu-system-x86_643 p - rw---n--   1   0 -   -
  14300 qemu-system-x86_644 p - rw---n--   1   0 -   -
  14300 qemu-system-x86_645 v r rw--f---   1 4294967296 -   /b/blah.img
  14300 qemu-system-x86_646 p - rw---n--   1   0 -   -
  14300 qemu-system-x86_647 p - rw---n--   1   0 -   -
  14300 qemu-system-x86_648 v r r---f---   1 283918336 -   
/b/netbsd-amd64cd-201012060900Z.iso
  14300 qemu-system-x86_649 s - rw---n--   1   0 TCP ::. ::.0
  14300 qemu-system-x86_64   10 s - rw---n--   1   0 TCP 
:::127.0.0.1. :::127.0.0.1.26806
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: [patch] reminding developers to check for duplicates in ObsoleteFiles.inc and tools/build/mk/OptionalObsoleteFiles.inc

2010-11-18 Thread Anonymous
Alexander Best arun...@freebsd.org writes:

 diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
 index e358ed9..106c10e 100644
 --- a/ObsoleteFiles.inc
 +++ b/ObsoleteFiles.inc
 @@ -13,6 +13,12 @@
  #
  # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
  #
 +# Before you commit changes to this file please check, if any entries in
 +# tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following
 +# command was proposed by Dmitry Morozovsky:
 +# ( grep '+=' /usr/src/ObsoleteFiles.inc | sort -u ; \
 +# grep '+=' /usr/src/tools/build/mk/OptionalObsoleteFiles.inc | sort -u) | \
 +# sort | uniq -d

An easier way to check duplicates that understands `.if ${TARGET_ARCH}...'

  $ make -V OLD_FILES -V OLD_LIBS -V OLD_DIRS \
-f Makefile.inc1 check-old \
| sed 'y/ /\n/' | sort | uniq -d

And there are a number of false positives

  usr/include/c++/3.4/ext/demangle.h
  usr/include/rune.h
  usr/lib/libkse.so.1
  usr/lib/libpcap.so.3
  usr/lib/snmp_atm.so.3
  usr/lib/snmp_mibII.so.3
  usr/lib/snmp_netgraph.so.3
  usr/lib/snmp_pf.so.3
  usr/share/man/man3/exp10.3.gz
  usr/share/man/man3/exp10f.3.gz
  usr/share/man/man3/fgetrune.3.gz
  usr/share/man/man3/fpsetsticky.3.gz
  usr/share/man/man3/fputrune.3.gz
  usr/share/man/man3/fungetrune.3.gz
  usr/share/man/man3/gss_krb5_compat_des3_mic.3.gz
  usr/share/man/man3/gss_krb5_copy_ccache.3.gz
  usr/share/man/man3/mac_is_present_np.3.gz
  usr/share/man/man3/mbmb.3.gz
  usr/share/man/man3/mbrrune.3.gz
  usr/share/man/man3/mbrune.3.gz
  usr/share/man/man3/rune.3.gz
  usr/share/man/man3/setinvalidrune.3.gz
  usr/share/man/man3/setrunelocale.3.gz
  usr/share/man/man3/sgetrune.3.gz
  usr/share/man/man3/sputrune.3.gz
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: [patch] reminding developers to check for duplicates in ObsoleteFiles.inc and tools/build/mk/OptionalObsoleteFiles.inc

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

 Alexander Best arun...@freebsd.org writes:

 diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
 index e358ed9..106c10e 100644
 --- a/ObsoleteFiles.inc
 +++ b/ObsoleteFiles.inc
 @@ -13,6 +13,12 @@
  #
  # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
  #
 +# Before you commit changes to this file please check, if any entries in
 +# tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following
 +# command was proposed by Dmitry Morozovsky:
 +# ( grep '+=' /usr/src/ObsoleteFiles.inc | sort -u ; \
 +# grep '+=' /usr/src/tools/build/mk/OptionalObsoleteFiles.inc | sort -u) | \
 +# sort | uniq -d

 An easier way to check duplicates that understands `.if ${TARGET_ARCH}...'

   $ make -V OLD_FILES -V OLD_LIBS -V OLD_DIRS \
 -f Makefile.inc1 check-old \
 | sed 'y/ /\n/' | sort | uniq -d

Nevermind. It's more important to check OptionalObsoleteFiles.inc when
files are re-introduced and thus removed from ObsoleteFiles.inc.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


rtld + gold linker, cannot find entry symbol lf; defaulting to 00000000000034d0

2010-11-11 Thread Anonymous
I'm trying to compile dynamic linker with `gold' linker.
During build with normal ld(1) there is a warning

  cc [...] -elf -o ld-elf.so.1
  LOCALBASE/bin/ld: warning: cannot find entry symbol lf; defaulting to 
34d0

While it doesn't seem to affect `ld' it does for `gold'. The binary produced
by `gold' segfaults, e.g.

  # from /h...@215110
  Core was generated by `sh'.
  Program terminated with signal 11, Segmentation fault.
  #0  .rtld_start () at /usr/src/libexec/rtld-elf/amd64/rtld_start.S:33
  33  xorq%rbp,%rbp   # Clear frame pointer for 
good form
  (gdb) bt
  #0  .rtld_start () at /usr/src/libexec/rtld-elf/amd64/rtld_start.S:33
  #1  0x0001 in ?? ()
  #2  0x7fff0fe0 in ?? ()
  #3  0x in ?? ()

So, is `-elf' intended or it can be removed?

%%
diff --git a/libexec/rtld-elf/amd64/Makefile.inc 
b/libexec/rtld-elf/amd64/Makefile.inc
index b265a9d..4ecf82f 100644
--- a/libexec/rtld-elf/amd64/Makefile.inc
+++ b/libexec/rtld-elf/amd64/Makefile.inc
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-CFLAGS+=   -elf
-LDFLAGS+=  -elf
 # Uncomment this to build the dynamic linker as an executable instead
 # of a shared library:
 #LDSCRIPT= ${.CURDIR}/${MACHINE_CPUARCH}/elf_rtld.x
diff --git a/libexec/rtld-elf/i386/Makefile.inc 
b/libexec/rtld-elf/i386/Makefile.inc
index b265a9d..4ecf82f 100644
--- a/libexec/rtld-elf/i386/Makefile.inc
+++ b/libexec/rtld-elf/i386/Makefile.inc
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-CFLAGS+=   -elf
-LDFLAGS+=  -elf
 # Uncomment this to build the dynamic linker as an executable instead
 # of a shared library:
 #LDSCRIPT= ${.CURDIR}/${MACHINE_CPUARCH}/elf_rtld.x
%%
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: [PATCH] update to the latest libedit version and remove libreadline deps

2010-11-06 Thread Anonymous
Anonymous swel...@gmail.com writes:

 Anonymous swel...@gmail.com writes:

 Baptiste Daroussin b...@freebsd.org writes:
 [...]
 You can find the patch against current here:
 http://people.freebsd.org/~bapt/update-libedit.patch

   $ make depend
   /usr/src/lib/libedit/makelist -h /usr/src/lib/libedit/vi.c   vi.h.tmp   
 mv vi.h.tmp vi.h
   /usr/src/lib/libedit/makelist: Permission denied
   *** Error code 126

 I guess HOST_SH is defined by build.sh on NetBSD.

 libgdb doesn't build, too

Aww, a few more changes were needed to make buildworld happy.

%%
Index: ObsoleteFiles.inc
===
--- ObsoleteFiles.inc   (revision 214854)
+++ ObsoleteFiles.inc   (working copy)
@@ -14,6 +14,36 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# : readline removed, ports should use devel/readline ;)
+OLD_FILES+=usr/include/readline/chardefs.h
+OLD_FILES+=usr/include/readline/keymaps.h
+OLD_FILES+=usr/include/readline/rlconf.h
+OLD_FILES+=usr/include/readline/rlstdc.h
+OLD_FILES+=usr/include/readline/rltypedefs.h
+OLD_FILES+=usr/include/readline/tilde.h
+OLD_FILES+=usr/lib/libhistory.a
+OLD_FILES+=usr/lib/libhistory_p.a
+OLD_FILES+=usr/lib/libreadline.a
+OLD_FILES+=usr/lib/libreadline_p.a
+OLD_FILES+=usr/share/info/history.info.gz
+OLD_FILES+=usr/share/info/readline.info.gz
+OLD_FILES+=usr/share/info/rluserman.info.gz
+OLD_FILES+=usr/share/man/man3/readline.3.gz
+OLD_FILES+=usr/share/man/man3/rlhistory.3.gz
+OLD_LIBS+=lib/libreadline.so.8
+OLD_LIBS+=usr/lib/libhistory.so
+OLD_LIBS+=usr/lib/libhistory.so.8
+OLD_LIBS+=usr/lib/libreadline.so
+.if ${TARGET_ARCH} == amd64
+OLD_FILES+=usr/lib32/libhistory.a
+OLD_FILES+=usr/lib32/libhistory_p.a
+OLD_FILES+=usr/lib32/libreadline.a
+OLD_FILES+=usr/lib32/libreadline_p.a
+OLD_LIBS+=usr/lib32/libhistory.so
+OLD_LIBS+=usr/lib32/libhistory.so.8
+OLD_LIBS+=usr/lib32/libreadline.so
+OLD_LIBS+=usr/lib32/libreadline.so.8
+.endif
 # 20101101: headers moved to machine/ to x86/
 .if ${TARGET_ARCH} == amd64 || ${TARGET_ARCH} == i386
 OLD_FILES+=usr/include/machine/apicreg.h
Index: contrib/gdb/gdb/cli/cli-cmds.c
===
--- contrib/gdb/gdb/cli/cli-cmds.c  (revision 214854)
+++ contrib/gdb/gdb/cli/cli-cmds.c  (working copy)
@@ -21,7 +21,6 @@
 
 #include defs.h
 #include readline/readline.h
-#include readline/tilde.h
 #include completer.h
 #include target.h /* For baud_rate, remote_debug and remote_timeout */
 #include gdb_wait.h  /* For shell escape implementation */
Index: contrib/gdb/gdb/cli/cli-setshow.c
===
--- contrib/gdb/gdb/cli/cli-setshow.c   (revision 214854)
+++ contrib/gdb/gdb/cli/cli-setshow.c   (working copy)
@@ -18,7 +18,6 @@
Boston, MA 02111-1307, USA.  */
 
 #include defs.h
-#include readline/tilde.h
 #include value.h
 #include ctype.h
 #include gdb_string.h
Index: contrib/gdb/gdb/event-top.c
===
--- contrib/gdb/gdb/event-top.c (revision 214854)
+++ contrib/gdb/gdb/event-top.c (working copy)
@@ -34,7 +34,6 @@
 
 /* readline include files */
 #include readline/readline.h
-#include readline/history.h
 
 /* readline defines this.  */
 #undef savestring
Index: contrib/gdb/gdb/top.c
===
--- contrib/gdb/gdb/top.c   (revision 214854)
+++ contrib/gdb/gdb/top.c   (working copy)
@@ -48,7 +48,6 @@
 
 /* readline include files */
 #include readline/readline.h
-#include readline/history.h
 
 /* readline defines this.  */
 #undef savestring
Index: contrib/gdb/gdb/tracepoint.c
===
--- contrib/gdb/gdb/tracepoint.c(revision 214854)
+++ contrib/gdb/gdb/tracepoint.c(working copy)
@@ -45,7 +45,6 @@
 
 /* readline include files */
 #include readline/readline.h
-#include readline/history.h
 
 /* readline defines this.  */
 #undef savestring
Index: contrib/gdb/gdb/tui/tui-io.c
===
--- contrib/gdb/gdb/tui/tui-io.c(revision 214854)
+++ contrib/gdb/gdb/tui/tui-io.c(working copy)
@@ -397,8 +397,6 @@ static void
 tui_rl_display_match_list (char **matches, int len, int max)
 {
   typedef int QSFUNC (const void *, const void *);
-  extern int _rl_qsort_string_compare (const void*, const void*);
-  extern int _rl_print_completions_horizontally;
   
   int count, limit, printed_len;
   int i, j, k, l;
Index: gnu/lib/Makefile
===
--- gnu/lib/Makefile(revision 214854)
+++ gnu/lib/Makefile(working copy)
@@ -2,7 +2,7 @@
 
 .include bsd.own.mk
 
-SUBDIR= csu libgcc libgcov libdialog libgomp libregex libreadline libssp
+SUBDIR= csu libgcc libgcov libdialog libgomp libregex libssp
 
 # libsupc++ uses

Re: sysrc -- a sysctl(8)-like utility for managing /etc/rc.conf et. al.

2010-10-10 Thread Anonymous
Devin Teske dte...@vicor.com writes:

  GLOBALS
 
 # Global exit status variables
 : ${SUCCESS:=0}
 : ${FAILURE:=1}
 
 Should this really be set to something other than 0 or 1 by the
 end-user's environment? This would simplify a lot of return/exit
 calls...

 A scenario that I envision that almost never arises, but...

 Say someone wanted to call my script but wanted to mask it to always return 
 with success (why? I dunno... it's conceivable though).

 Example: (this should be considered ugly -- because it is)

 FAILURE=0  sysrc foo  reboot

Wouldn't this bork functions used inside a conditional?

  : ${FAILURE:=1}
  foo() { return ${FAILURE-1}; }
  if ! foo; then
  echo good
  else
  echo error
  fi

  $ test.sh
  good
  $ FAILURE=0 test.sh
  error

I think only sysrc_set() is affected, though.

  if sysrc_set $NAME ${1#*=}; then
  echo  - $( sysrc $NAME )
  fi

  $ sysrc hostname=blah
  hostname: raphael.local
  sysrc: cannot create /etc/rc.conf: permission denied
  $ FAILURE=0 sh sysrc hostname=blah
  hostname: raphael.local
  sysrc: cannot create /etc/rc.conf: permission denied
   - raphael.local
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: tiny patch to prevent head from closing pipes

2010-08-28 Thread Anonymous
Alexander Best arun...@freebsd.org writes:

 hi there,

 i just had subversion complain about a broken pipe while piping its output
 through awk straight to head [1]. i decided to add a switch to head which will
 tell it to never close a pipe unless the input has stopped [2].

You can do same with sh(1), e.g.

  $ svn log | (IFS=; while read li; do [ $((i+=1)) -le 10 ]  echo $li; done)

versus

  $ svn log | (IFS=; while read li  [ $((i+=1)) -le 10 ]; do echo $li; done)
  ...
  svn: Write error: Broken pipe


But I think subversion should

 there's probably a much more efficient way of discarding the input without
 closing the pipe unless the input ceased. it's just a 5 minute hack in order 
 to
 see if people find the idea useful or not. ;)

Can you give an example of usefulness that does not involve subversion?
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: tiny patch to prevent head from closing pipes

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

 Alexander Best arun...@freebsd.org writes:

 hi there,

 i just had subversion complain about a broken pipe while piping its output
 through awk straight to head [1]. i decided to add a switch to head which 
 will
 tell it to never close a pipe unless the input has stopped [2].

 You can do same with sh(1), e.g.

   $ svn log | (IFS=; while read li; do [ $((i+=1)) -le 10 ]  echo $li; 
 done)

Hmm, draining pipe with cat(1) would be more efficient

  $ svn log | (IFS=; while read li  [ $((i+=1)) -le 10 ]; do echo $li; 
done; cat /dev/null)
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: intel i5 - core? or core2?

2010-08-21 Thread Anonymous
Domagoj S. rank1see...@gmail.com writes:

 8.1 RELEASE  32bit

 # gcc --version
 gcc (GCC) 4.2.1 20070719  [FreeBSD]

 As per:  http://gcc.gnu.org/gcc-4.2/changes.html
 core2 is supported

It's not! `core' and `core2' for -mtune/-march introduced since gcc43.

  $ echo 'int main(){}' | gcc -xc - -o/dev/null -march=core
  :1: error: bad value (core) for -march= switch
  :1: error: bad value (core) for -mtune= switch

  $ echo 'int main(){}' | gcc -xc - -o/dev/null -march=core2
  :1: error: bad value (core2) for -march= switch
  :1: error: bad value (core2) for -mtune= switch

Setting CPUTYPE to `core2' on amd64 will only add `sse3' to MACHINE_CPU,
even when the underlying compiler/assembler actually supports more
features, e.g. ssse3, sse4.1, etc., cf. conf/112997.

BTW, while clang in base (on /head) supports -march=core2 it's still
better to stick to -march=native, e.g. on my box

  CPU: Intel(R) Core(TM)2 Duo CPU E8400  @ 3.00GHz (3177.07-MHz K8-class 
CPU)

`native' on clang implies `penryn', not a `core2'. While `native' on
gcc45 implies `core2' + extra cflags[1].

[1] -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param 
l1-cache-line-size=64 --param l2-cache-size=6144


 Setting CPUTYPE(for i386) to:  nocona, core or core2, will at
 the end, ALWAYS set CPUTYPE to:  prescott, which again results in
 set:
 MACHINE_CPU = sse3 sse2 sse i686 mmx i586 i486 i386

You can populate MACHINE_CPU directly, e.g.

  CPUTYPE ?= native
  MACHINE_CPU != echo ${MACHINE_ARCH}; ${CC} -E -dM -v -march=${CPUTYPE} - 
/dev/null 21 \
| awk '/SSE|MMX/  !/MATH/ { FS=__; gsub(_,.,$$2); print 
tolower($$2) }'
  MACHINE_CPU += i486 i586 i686

Note sure how well it'll work for cross-arch compilation, though.


 CPUTYPE?=native is nowhere mentioned in FreeBSD

That cruft in bsd.cpu.mk was written in pre-gcc4 days, i.e. when it
didn't support -march=native. Besides, if not maintained to accommodate
for newer gcc's from ports those aliases are more harmful than
useful. And not much code uses MACHINE_CPU in base anyway, only
libcrypto and libz.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: intel i5 - core? or core2?

2010-08-20 Thread Anonymous
Atom Smasher a...@smasher.org writes:

 hardware:
   MACH:  x86_64 (LENOVO, 4313CTO, ThinkPad T510)
   CPU:   x86_64 (Intel(R) Core(TM) i5 CPU M 540 @ 2.53GHz)

 FreeBSD 8.1-RELEASE #0 (amd64)

 in /etc/make.conf i tried setting CPUTYPE=core but as soon as i
 start building things, lang/perl5.10 fails, complaining about core
 not being right.

 when i change the setting to CPUTYPE=core2 it builds fine.

I'd suggest using CPUTYPE?=native and let the compiler decide what's best.
Our pretty old gcc in base supports neither `core' nor `core2'.

The `core2' is just an alias for `nocona'/`prescott' for amd64/i386.
And `core' alias is available only for i386, cf. bsd.cpu.mk.


 is something wrong? i thought the i5 was core, not core2...?
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: [PATCH] allow empty files creation with install

2010-07-17 Thread Anonymous
joris dedieu joris.ded...@gmail.com writes:

 This patch add a -t switch to install(3). This is a small feature for
 lazy sysadmins.

 before :

 touch /usr/home/foo/.history /usr/home/foo/.bash_history
 chown foo /usr/home/foo/.history /usr/home/foo/.bash_history
 chmod 600 /usr/home/foo/.history /usr/home/foo/.bash_history
 chflags sappend /usr/home/foo/.history /usr/home/foo/.bash_history

  for f in .history .bash_history; do
  install -o foo -g foo -m 600 -f sappend /dev/null /usr/home/foo/$f
  done


 after :

 install -o foo -g foo -m 600 -f sappend /usr/home/foo/.history 
 /usr/home/foo/.bash_history

Your example doesn't use `-t' option.
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: sysctl way too slow

2010-07-14 Thread Anonymous
Atom Smasher a...@smasher.org writes:

 http://smasher.org/tmp/zsh-bsd-sysctl-slow.png

 is there a way to get this information that doesn't take so long?

If you only need sysctl values for fancy prompt then cache them inside
variables, e.g.

  PROMPT='($hw_acpi_battery_life, $hw_acpi_battery_time, 
$hw_acpi_battery_state) %# '

  PERIOD=30
  setopt promptsubst
  periodic_functions+=(sysctl-to-var)

  sysctl-to-var() {
  set -- hw.acpi.battery.

  for i in $(sysctl -N $@); do
  eval ${i:gs/./_/:gs/%//}='$(sysctl -n $i)'
  done
  }

To not pollute global scope using one associative array for sysctls may
be better.


 the same info is available on linux via /sys and /proc and on
 comparable hardware, i can get the info about 100x faster.

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


Re: restricted kernel threads implementation from NetBSD via n

1999-06-28 Thread Anonymous


On 28-Jun-99 Matthew Dillon wrote:
  I think we desparately need a kernel threads implementation.  *Any*
  implementation, so we can start messing around with it! Even if it isn't
  the one we eventually choose.  

I don't suppose someone could post an explanation of how kernel threads work
could they? :)

I sort of grasp the idea but I'm wondering what passes for context switches and
stuff like that.. What does the switching between threads etc? Or am I
completely off track?

---
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum

 PGP signature


Re: restricted kernel threads implementation from NetBSD via newconfig

1999-06-28 Thread Anonymous

In message [EMAIL PROTECTED] Julian 
Elischer writes:
: now this is threads within the kernel, and not kernel support for user
: threads right?

Yes.  That's right.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: restricted kernel threads implementation from NetBSD via n

1999-06-28 Thread Anonymous

In message [EMAIL PROTECTED] "Daniel J. O'Connor" writes:
: I don't suppose someone could post an explanation of how kernel threads work
: could they? :)

Looks like it just does a fork like thing so it can do context
switches...

Warner



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: restricted kernel threads implementation from NetBSD via n

1999-06-28 Thread Anonymous



On Mon, 28 Jun 1999, Warner Losh wrote:

 In message [EMAIL PROTECTED] "Daniel J. O'Connor" writes:
 : I don't suppose someone could post an explanation of how kernel threads work
 : could they? :)
 
 Looks like it just does a fork like thing so it can do context
 switches...

To be more precise, it should be more like a rfork() like thing
that doesn't change any resources except the stack, a process structure
and processor context. Specifically, processor VMspace is basically left
at whatever it is already at, and there is no 'signal' stuff or file
descriptor table munging. We might even allow the MMU to be left unchanged
too.

julian




  Warner
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: restricted kernel threads implementation from NetBSD via n

1999-06-28 Thread Anonymous

Warner Losh wrote:
 In message [EMAIL PROTECTED] "Daniel J. O'Connor" writ
es:
 : I don't suppose someone could post an explanation of how kernel threads wor
k
 : could they? :)
 
 Looks like it just does a fork like thing so it can do context
 switches...
 
 Warner

When I looked last time, it was effectively a callable interface to what we
do from SYSINIT_KT(), ie: fork proc0, which runs in kernel space with it's
own stack etc.

kthread_create_deferred() is not really anything to do with those sort of
threads.  It's just a generic callback registration system that happens to
be called after the basic processes have started so that proc0,1,2 etc are
not disturbed.  It's similar to the config_intrhook() stuff but is run
later.

You can probably cut/paste our SYSINIT_KT() code into some compatable
function interfaces pretty easily to avoid yet another new file.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: RE: Implementation of mmap() in FreeBSD

1999-06-28 Thread Anonymous


On Mon, 28 Jun 1999, Matthew Dillon wrote:

 : it is extremely memory efficient.
 :
 :I guess you are talking about VMIO buffers where the pages are found and
 :registered into the buffer header during allocbuf().  When we do I/O on
 :VMIO buffers using conventional system call method, we specify UIO_NOCOPY
 :to instruct the uiomove() do not perform data copy. 
 
 UIO_NOCOPY is used to handle a degenerate case in the VFS/BIO vs VM
 interaction for I/O, it has nothing to do with the read() or write() 
 syscall per say, nor is it related to the mmap code.
 
 : Programmers who use mmap() expect it to be as close to optimal as
 : possible. 
 :
 :I write a program to test the mmap() today. It turns out that a user can
 :modify the part of the mmapped area that is within the system returned
 :area but not part of the user-specified area. 
 :
 :As I understand it, there are two access paths to a file: conventional I/O
 :through read/write systems calls and memory-mapped I/O.  Both of them
 :converge at the vnode read and write routine (VOP_READ() and VOP_WRITE()). 
 :This should give us the opportunity to guard against illegal memory-mapped
 :I/O writes made by the user. 
 
 They converge in the VMIO page cache.

By converge, I mean VOP_GETPAGES() and VOP_PUTPAGES() will call VOP_READ()
and VOP_WRITE() just as read() and write() system call.

 
 :Maybe we can add some fields in the vm_object to record the real or
 :user-specifed area which can be passed to the vnode read and write
 :routine. In the vnode I/O routine, we should be able to limit the write to
 :only the orginal part of the area specified by the user.  This practice
 :should not incur any performance loss.
 :
 :-Zhihui
 
 mmap bypasses the vnode.  What you propose will not work because even if
 the VM object is process-specific, the pages underlying the VM object are
 not.  If several processes are mmap()ing overlapping portions of the file,
 they are *sharing* the pages.  So even though they are not sharing the 
 VM object, the VM system will not be able to tell which process modified
 the page, and therefore any byte-ranged limits specified in the VM object
 will be useless.

This is a good point!  I have never thought of it before.  Thanks.

-Zhihui



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Implementation of mmap() in FreeBSD

1999-06-28 Thread Anonymous

On Mon, 28 Jun 1999 12:54:12 -0700 (PDT) 
 Matthew Dillon [EMAIL PROTECTED] wrote:

  mmap bypasses the vnode.  What you propose will not work because even if
  the VM object is process-specific, the pages underlying the VM object are
  not.  If several processes are mmap()ing overlapping portions of the file,
  they are *sharing* the pages.  So even though they are not sharing the 
  VM object, the VM system will not be able to tell which process modified
  the page, and therefore any byte-ranged limits specified in the VM object
  will be useless.

Well, if you make a VM object map-entry-specific (not just "process-specific";
a single process may have multiple mappings of a file!), then the pages
*can't* be shared, because pages are owned by the objects.  The only reason
you can share pages is because multiple map entries may reference the same
object (the offset into the object being map-entry-specific).

Put another way, it's not possible for this sentence to be true, at all:

What you propose will not work because even if the VM object is
process-specific, the pages underlying the VM object are not.

...since the presence of map-entry-specific objects would make the pages
also map-entry-specific by definition.

This, of course, would mean that VM objects themselves serve no purpose, so
you could collapse it into "pages are owned by VM map entries", and do away
with objects completely.

However, that would be stupid.

Anyhow, it's possible to have the semantics Zhihui suggested, but you have to
give up an awful lot to get them. :-)

-- Jason R. Thorpe [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Implementation of mmap() in FreeBSD

1999-06-28 Thread Anonymous

:Well, if you make a VM object map-entry-specific (not just "process-specific";
:a single process may have multiple mappings of a file!), then the pages
:*can't* be shared, because pages are owned by the objects.  The only reason
:you can share pages is because multiple map entries may reference the same
:object (the offset into the object being map-entry-specific).
:
:Put another way, it's not possible for this sentence to be true, at all:
:
:   What you propose will not work because even if the VM object is
:   process-specific, the pages underlying the VM object are not.

There's missing information.  Remember that VM objects are recursive.
That is, they stack in layers.  So, in fact, you are sharing the same
physical page for both a PRIVATE and SHARED mmap.  A copy only occurs
if you attempt to modify a page in a PRIVATE mmap.  The underlying VM
object is, ultimately, the file itself.  That's what I meant.  You
are absolute correct about the high-level mapping occuring in the
map-entry.  For a shared map it is ultimately the same VM object.

:This, of course, would mean that VM objects themselves serve no purpose, so
:you could collapse it into "pages are owned by VM map entries", and do away
:with objects completely.
:
:However, that would be stupid.
:
:Anyhow, it's possible to have the semantics Zhihui suggested, but you have to
:give up an awful lot to get them. :-)
:
:-- Jason R. Thorpe [EMAIL PROTECTED]

It really isn't possible without creating massive inefficiencies.  It
would be possible in a MULTICS system, but not in a UNIX system and not
with most modern processors ( which do not have byte resolved 
variable-length page maps ).  Not efficiently, anyway.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: RE: Implementation of mmap() in FreeBSD

1999-06-28 Thread Anonymous

:
:By converge, I mean VOP_GETPAGES() and VOP_PUTPAGES() will call VOP_READ()
:and VOP_WRITE() just as read() and write() system call.

Yes, but what they are doing is mapping the VMIO cache pages into the
buffer, so the VOP_READ/VOP_WRITE essentially operates directly on the
VMIO cache pages.  This is why NOCOPY is set -- because there is no need
to copy the data from the buffer to the VMIO cache because the buffer IS
the VMIO cache at that point in time.  Confusing, eh?

A normal read() or write() syscall always copies the data, because the
uio buffer in that case is not VMIO cache but instead some location in
the processor's memory.  Even if this location were associated with an
mmap(), it would almost certainly be to a different file so the copy must
occur anyway.

A lot of the apparent confusion in the code is due to the fact that the
code did not originally implemented a unified buffer cache.  It is being
slowly cleaned up.

:-Zhihui

-Matt
Matthew Dillon 
[EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: RPLd or rplboot

1999-06-28 Thread Anonymous

 
 Has anyone ever seen an open implementation of RPL, remote
 program load ? Or at paper specification of it against
 which one could write such a beast ?

http://www.freebsd/org/~msmith/documents/RPL

BTW, did you get your box?

-- 
\\  The mind's the standard   \\  Mike Smith
\\  of the man.   \\  [EMAIL PROTECTED]
\\-- Joseph Merrick   \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: environment strings

1999-06-28 Thread Anonymous


  I wanted t know where the environment strings i bsd were stored after a
  program execs another one. 

extern char **environ;

 At the top of memory.  You can access them by the standard (but
 undocumented) method:
 
 int main (int argc, char *argv [], char *envp [])
 
 envp is a pointer to the environment strings.  This is true for every
 version of UNIX I know.

This is of course correct except for the `undocumented' claim. The `envp' has
been documented as the third argument to main() since the Pharaons (well, not
quite ;). Apparently ATT UNIX even has a (documented) five-parameter main().

Besides, the `envp' argument is a recommended extension in ISO/ANSI C, so you
can hardly say that it's undocumented.

l8r,
patryk.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: environment strings

1999-06-28 Thread Anonymous

On Tuesday, 29 June 1999 at 12:18:07 +1000, Patryk Zadarnowski wrote:

 I wanted t know where the environment strings i bsd were stored after a
 program execs another one.

 extern char **environ;

 At the top of memory.  You can access them by the standard (but
 undocumented) method:

 int main (int argc, char *argv [], char *envp [])

 envp is a pointer to the environment strings.  This is true for every
 version of UNIX I know.

 This is of course correct except for the `undocumented' claim. The
 `envp' has been documented as the third argument to main() since the
 Pharaons (well, not quite ;). Apparently ATT UNIX even has a
 (documented) five-parameter main().

This is news to me.  Can you point to the documentation?

 Besides, the `envp' argument is a recommended extension in ISO/ANSI
 C, so you can hardly say that it's undocumented.

Hmm.  I don't have the Standard here, but I've dug around and found a
couple of references to the third parameter, an "optional extension".
I think the real problem is that KR didn't describe it: it was
introduced in the Seventh Edition, which came after KR.

Greg
--
See complete headers for address, home page and phone numbers
finger [EMAIL PROTECTED] for PGP public key


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: environment strings

1999-06-28 Thread Anonymous


  This is of course correct except for the `undocumented' claim. The
  `envp' has been documented as the third argument to main() since the
  Pharaons (well, not quite ;). Apparently ATT UNIX even has a
  (documented) five-parameter main().
 
 This is news to me.  Can you point to the documentation?

I'll sniff around and get back to you (read: I'll ask our local guru on
PDP-11's and other ancient rituals, who told me about those in the first
place.)

l8r,
patryk.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: environment strings

1999-06-28 Thread Anonymous

On Tue, 29 Jun 1999, Greg Lehey wrote:

  This is of course correct except for the `undocumented' claim. The
  `envp' has been documented as the third argument to main() since the
  Pharaons (well, not quite ;). Apparently ATT UNIX even has a
  (documented) five-parameter main().
 
 This is news to me.  Can you point to the documentation?
 
  Besides, the `envp' argument is a recommended extension in ISO/ANSI
  C, so you can hardly say that it's undocumented.
 
 Hmm.  I don't have the Standard here, but I've dug around and found a
 couple of references to the third parameter, an "optional extension".
 I think the real problem is that KR didn't describe it: it was
 introduced in the Seventh Edition, which came after KR.

man 3 exec, I think.

 
 Greg
 --
 See complete headers for address, home page and phone numbers
 finger [EMAIL PROTECTED] for PGP public key
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 

+---
Chuck Robey | Interests include any kind of voice or data 
[EMAIL PROTECTED]   | communications topic, C programming, and Unix.
213 Lakeside Drive Apt T-1  |
Greenbelt, MD 20770 | I run picnic and jaunt, both FreeBSD-current.
(301) 220-2114  | 
+---






To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: environment strings

1999-06-28 Thread Anonymous


I know about envp.

What I want to know is the exact position of these variables on the stack.

and if anywhere I can find some data, on the exact compisoition of the
stcak, then it will be very helpful.

references of books and websites wil be most helpful.

amol



 On Monday, 28 June 1999 at  5:54:29 -0400, Amol Mohite wrote:
 
  Hi!
 
  i hope this is the right list for this qs.
 
  I wanted t know where the environment strings i bsd were stored after a
  program execs another one.
 
 At the top of memory.  You can access them by the standard (but
 undocumented) method:
 
 int main (int argc, char *argv [], char *envp [])
 
 envp is a pointer to the environment strings.  This is true for every
 version of UNIX I know.
 
  Is there any place I ca get hold of the ABIs for freebsd ?
 
 Can you be more specific?
 
 Greg
 --
 See complete headers for address, home page and phone numbers
 finger [EMAIL PROTECTED] for PGP public key
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: restricted kernel threads implementation from NetBSD via n

1999-06-28 Thread Anonymous

In message [EMAIL PROTECTED] "Daniel
J. O'Connor" writes:
: I don't suppose someone could post an explanation of how kernel threads work
: could they? :)

In a nutshell, it appears to basically do an rfork.  It then becomes
like any other process that is interrupted in the kernel...

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Connect and so on..

1999-06-26 Thread Anonymous

On Fri, 25 Jun 1999, Mike Smith wrote:

  
  static struct sockaddr_in servaddr;
   
   This needs to be a valid structure in USER space, not kernel.
  
  OK. I suspected as much. Question is: how do I open a connection from
  KERNEL space? 
 
 You don't.
 
 If you're really desperate to do this, you'll have to patch _all_ of 
 the system calls to work out whether they're being called from the 
 kernel or from userspace.  
 
 There's actually a lot of utility in this, as it makes calling them 
 easier from ABI modules as well.  If you're looking for a nice, 
 relatively easy FreeBSD hacking project, there's one right there.

Another argument to the syscall format...  I remember we took the
retval away (stuck it in proc) and now we could replace it with that.
That's beside the point. He doesn't need to initiate the connection
in userland, just pass in the context (user-space sockaddr_in) for
it to use. The other mistake is he thinks this will make the whole thing
atomic... I'm not so sure about that one.

 
 -- 
 \\  The mind's the standard   \\  Mike Smith
 \\  of the man.   \\  [EMAIL PROTECTED]
 \\-- Joseph Merrick   \\  [EMAIL PROTECTED]
 
 
 

 Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
 [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
   http://www.FreeBSD.org/  _ |___/___/___/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: All this and documentation too? (was: cvs commit: src/sys/isa sio.c))

1999-06-26 Thread Anonymous

On Sat, Jun 26, 1999 at 03:08:10PM +0200, Nick Hibma wrote:
 
 And they are going to scream like mad if there isn't any. But in the end
 they start reading the code anyway, even if there is docu, because they 
 don't trust anything but their own eyes and brain.

ports system == really really large
documentation about ports system == really really large (relatively)

Anything else?


-- 
This is my .signature which gets appended to the end of my messages.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: System unique identifier.....

1999-06-26 Thread Anonymous

As Matthew Jacob wrote ...
 
 Yes, you want the WWN to stay constant. That doesn't mean it should
 necessarily be the same physical box. Nor does it mean it should be a
 system that comes with a WWN assigned to by the manufacturer.

Manufacturers have to register and 'get' a unique range they can assign
to their products. How do you guarantee that your homegrown WWN is
really unique?

 I think I'm confusing myself and people. I have a WWN. By definition it
 should be unique value. All I'm asking for is a kernel function to help me
 generate such a thing (despite what Eduardo says).
 
 
 On Fri, 25 Jun 1999, Wilko Bulte wrote:
 
  As Matthew Jacob wrote ...

FYI: The Compaq HSG80 Fibrechannel RAID controllers have their 
WWN in NVRAM. One is supposed to get the WWN from a label on the *cabinet*
into the HSG controller. This allows for easy hardware swap in case of
hardware grief.
   
   Yes, if you want the WWN to stay constant.
  
  Well, you do. Especially when you are using things like zoning (like
  that Brocade switches can do) or when the host directly ties things to
  the wwn it talks to. E.g. for connection to Sun we use Jaycor adapters
  that allow things like "target=foo lun=bar www="64bitnumber" in the
  Solaris /kernel/drv/sd.conf file
 
 And to boot a Sun over fibre channel, you use the WWN.

Well, we currently don't support that, but indeed that is what you would
do. Tru64 Unix does something similar.

--
|   / o / /  _   Arnhem, The Netherlands- Powered by FreeBSD -
|/|/ / / /( (_) BulteWWW  : http://www.tcja.nl  http://www.freebsd.org


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: System unique identifier.....

1999-06-26 Thread Anonymous



On Sat, 26 Jun 1999, Wilko Bulte wrote:

 As Matthew Jacob wrote ...
  
  Yes, you want the WWN to stay constant. That doesn't mean it should
  necessarily be the same physical box. Nor does it mean it should be a
  system that comes with a WWN assigned to by the manufacturer.
 
 Manufacturers have to register and 'get' a unique range they can assign
 to their products. How do you guarantee that your homegrown WWN is
 really unique?

Witha a value in the top 4 bits that's not one of the currently defined
authoritative values.

 
  I think I'm confusing myself and people. I have a WWN. By definition it
  should be unique value. All I'm asking for is a kernel function to help me
  generate such a thing (despite what Eduardo says).
  
  
  On Fri, 25 Jun 1999, Wilko Bulte wrote:
  
   As Matthew Jacob wrote ...
 
 FYI: The Compaq HSG80 Fibrechannel RAID controllers have their 
 WWN in NVRAM. One is supposed to get the WWN from a label on the *cabinet*
 into the HSG controller. This allows for easy hardware swap in case of
 hardware grief.

Yes, if you want the WWN to stay constant.
   
   Well, you do. Especially when you are using things like zoning (like
   that Brocade switches can do) or when the host directly ties things to
   the wwn it talks to. E.g. for connection to Sun we use Jaycor adapters
   that allow things like "target=foo lun=bar www="64bitnumber" in the
   Solaris /kernel/drv/sd.conf file
  
  And to boot a Sun over fibre channel, you use the WWN.
 
 Well, we currently don't support that, but indeed that is what you would
 do. Tru64 Unix does something similar.


You can boot off of fibre channel now- but not using a WWN.

I want to see devfs fixed and using WWWs and/or device VPD.

-matt




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: ufs/ffs resize?

1999-06-26 Thread Anonymous

On Fri, Jun 25, 1999 at 02:00:41PM -0700, Aaron Smith wrote:
 anybody done any work on a utility for growing ufs filesystems?
 
I wrote one.
It is place on ftp://ftp.cosmo-project.de/pub/growfs
My tool will grow a UFS filesystem to the current size of the partition.
There is still one big problem left when the number of cylindergroups went
over a usually 512 align.
I hope to free enough time during the next weeks to remove some blocks and add
some warnings in this case.
With this problem you should check manualy for that condition because it will
break the fs in such cases.
All bugs should have been documented in the man-page.

-- 
B.Walter  COSMO-Project  http://www.cosmo-project.de
[EMAIL PROTECTED]  [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Implementation of mmap() in FreeBSD

1999-06-26 Thread Anonymous


From the source code of mmap(), it seems to me that FreeBSD can not handle
mmap() when the specified file range [offset, offset + length] does not
align with memory page boundary.  The mmap() automatically enlarges the
mapped area on BOTH ends of the given range to a page boundary.  In the
following figure, the two X areas are not specified by the user, they are
included because we do rounding on both ends.

   +---+--+-+-+
   | X |  | |  X  |
   +---+--+-+-+
   ^  ^   ^
   |  |   |
 page boundary  page boundary   page boundary

Then a problem is what will happen if I read/write at the areas marked as
X?  What will happen if I write into the area marked by the right X and
that area lies beyond the end of the file?  According to the book by
W. Richard Stevens, if we write to the area marked by the right X, the
changes should not be reflected in the file (or expand the file).

All these situations seem to me are not handled by FreeBSD mmap() code. I
hope I am wrong. I also wonder why we can not add some information to the
backing object, so that we can handle these situations. If these problems
do exist, how hard it is to fix them?

Any help or hint is appreciated.

--
Zhihui Zhang.  Please visit http://www.freebsd.org
--



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: System unique identifier.....

1999-06-25 Thread Anonymous

  
  Really?  Couldn't the Port WWN change and the Node WWN stay constant? I
  mean, yes, for FC controllers that have WWN in the 0x2 range,
  the Node WWN is 0x20... and the Port is 0x22... but it seems like this is
  a soft relationship- you *could* have Port  Node unique for each card,
  but then that requires all fabric clients to know (via some other
  arbitrary mechanism) that distinct WWNs are really the same 'box'.
 
 Existing FC RAID boxes have multiple controllers, each with a different
 WWN.  The port WWN is derived from the Node WWN.  The Node WWN is in the
 controller's PROM.  In theory, when you swap one controller, the other
 controller could remember the old node WWN and give it to the new
 controller, but:
 
 If you swap both controllers, who's going to remember the old node WWNs?
 
 If you pull one controller from one box and stick it into another box,
 then plug in a replacement controller into the first box, if the
 replacement controller takes over the previous WWN, you could end up with
 two different devices with the same WWN.

I agree that this would be chaos, but you're using implementation to argue
architecture. I'm thinking of a SANs of FreeBSD/NetBSD/Linux/Solaris boxes
running simultaneous target/initiator mode on Fibre Channel. I can use
WWN info wired into a specific card (whether it's the Port or Node WWN is
solely at my discretion when I fire up the f/w and tell it what it it is),
or I can choose something different entirely as the source of a WWN. As
long as it's guaranteed unique in this domain, it's an acceptable design.


  Sure. That's reasonable enough, but not necessarily a problem that needs
  solving. The LUN isn't interesting in that what you want a known Node WWN
  for (routed to via multiple Port WWNs) so that when you construct the
  addressing to some physical box you, and intervening FC switches, can get
  the frame there. Beyond that, multilevel LUN numbers seem adequate for
  *within box* addressing, and then whatever volume management software
  needs to look at 
 
 Thing is, the LUN is reachable through both controllers, each has a
 different Node (and port) WWN.  The FCP protocol layer should be
 addressing these entities by LUN WWN.  This means that it is responsible
 for identifying the individual entities and establishing the mapping of
 LUN WWN to associated Node WWNs.

For boxes that support LUN WWN

 
 Thus multipathing needs to be done both at the FCP layer to handle the LUN
 WWN - Node WWN mapping, as well as lower levels to deal with different
 routes to different ports.
 
 Now you could allow the Node WWN to migrate between different physical
 machines or controllers when handling failover, but if you did that you
 would be violating the spirit, if not the letter of the Fibre Channel
 specifications. 

This is a valid point- I'm going to mull about this some more then.

 
 Having said all that, I am a strong proponent of dumping all these silly
 WWNs in the trash and embedding a volume identifier in the disklabel
 itself.  You really don't care all that much what device you're talking to
 most of the time.  What you really want is your data, so label the data
 not the hardware.

That's sct's (tweedie's) notion too. The answer to this is "Sometimes you
*do* care about not only which specific one of N replicate data sets you
have, and sometimes you even care about which path you took to get it".

 
  At any rate, the WWN issue is just one use of this identifier.
 
 While the idea of a unique system identifier may have merit, I don't think
 that generating node WWNs is an appropriate use for it.

So, when are you gonna fix socal in Solaris to not use localetheraddr
and a blind usage of hba instance (which has at least two level 2 bugs
waiting to happen any day now) as a seed for cons'ed up WWNs?

(*now* who's using implementation to argue architecture? :-;)

-matt





To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: ufs/ffs resize?

1999-06-25 Thread Anonymous

there are several
greg lehey has been collecting them.

julian



On Fri, 25 Jun 1999, Aaron Smith wrote:

 anybody done any work on a utility for growing ufs filesystems?
 
 aaron
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: System unique identifier.....

1999-06-25 Thread Anonymous

On Fri, 25 Jun 1999 15:55:03 -0600 
 Wes Peters [EMAIL PROTECTED] wrote:

  Are there enough bytes available in the BIOS NVRAM?  That would do 
  nicely as a place to store it.

If you want this to be widely adoped across the free OS community
(hell, even if you want both of FreeBSD's platforms to support it),
you'd better come up with a less PC-centric place of storing this
information.

-- Jason R. Thorpe [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: System unique identifier.....

1999-06-25 Thread Anonymous

 Matthew Jacob wrote:
  
Whose BIOS NVRAM?
  
   The host system BIOS NVRAM.  I thought we were looking for a per-host
   ID here, right?
  
  Yes, but this kind of NVRAM isn't available on an Alpha, or a Sparc.
 
 On the SPARC you can put it in the OpenBoot environment.  I dunno 
 about the Alpha.

There's NVRAM and so on for a lot of machines.

I'm thinking that the cleanest place to put this which would be common
across all *BSD's would be:

a) A base release 128 bit UUID generator.

b) A step in kernel configuration that snags such a value and puts it in a
place that sysctl can get at it.

c) A utility that binary patches the kernel so that a change via sysctl is
persistent.

All of this is quite grotesque. If it was FreeBSD specific, then stuff in
/boot and sysctl would be fine- but I'd like to see this be *BSD, not just
FreeBSD.

-matt




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-24 Thread Anonymous

On Thu, 24 Jun 1999, Karl Denninger wrote:

 On Thu, Jun 24, 1999 at 01:23:19PM +0930, Mark Newton wrote:
  Karl Denninger wrote:
  
I've found FreeBSD to outperform NT-anything in any task you throw at the
machine from web service to Samba for file and print service for PCs
running Windows.
   
  Granted.  Perhaps we're seeing an artifact of NT's developers focussing
  on optimizing their system for good benchmark performance rather than
  good real-world performance.
  
  'twill be interesting to see the offical report to find out where the
  various strengths and weaknesses really are.
  
 -  mark
 
 Yes.
 
 One place where we *ARE* weak is N-way (more than 2-way) SMP systems.  I'm
 not at all sure why this happens, but I suspect that a big part of it is
 concurrency issues within the kernel and filesystem.
 
 BUT - for most REAL applications that configuration is a lose.  For example,
 for a big web server I'd prefer 4 boxes and 4 IP addresses (round-robin) 
 than one big box with a 4-way SMP system.  Why?  Because I get both better 
 performance that way AND redundancy - if one box fails, I still have 
 three more, all of which are working.  If one box fails in a 4-way 
 SMP configuration I have nothing at all.

We're adding some machines at work for (essentially) cgi
processing only. It was never considered to use anything less than 2 cpu
boxes, and the current round of testing is going so well that we're
seriously considering 4 cpu boxes because they are not that much more
expensive and our processing is highly CPU bound. I agree that redundancy
is a good thing, but at some point the increased network latency exceends
the point of diminishing returns for the redundancy factor. 

In short, increasing SMP efficiency should really be a priority
for N2 systems. 
 
 I had an NT machine that ran file and print service for my office (before
 I sold the company).  I replaced it with SAMBA on the same hardware.  
 
 Performance more than doubled, and the ONLY thing that I changed was the
 operating system.

Originally we were going to go with linux exclusively on this
project, both because that's the only Intel unix my co-workers were
familiar with, and based on recommendation from our proprietary CGI
vendor. After weeks of soft soap I convinced my boss to use freebsd on one
of the two boxes. Linux kicked our ass on the benchmarks for this program,
mostly do to the "optimized idle loop" that was discussed here a couple of
weeks ago. They beat us by 35% on the disk access/database tests, but I
was able to get that down to only a 15% advantage if I went async.
Fortunately my boss wasn't concerned about this test because the box is
going to do 99% of its disk access over NFS, but...

I told my boss (and he agreed completely) that benchmarks are not
the same as real performance, so I was hoping to impress him with
freebsd's stability and better performance in the real world application.
And to a certain extent, I have, since when my box is running it's load
average is consistently less than 1 while the linux box' load average is
consistently over 5 with exactly the same number of requests. So, points
for me on performance. However notice I said, "when my box is running." So
far it's fallen down on NFS issues so many times that it's currently
sidelined. The Linux box has been running for almost a week, and is
currently handling the load for my box too. My boss has been patient, but
he made the comment the other day that "so far freebsd is way ahead on the
hassle factor" so I'm not sure that my part of the experiment is going to
last much longer. 

Now if we were talking about a uni-processor system doing nothing
but serving web pages from local disk, I know I'd be kicking some serious
ass, but that model isn't the real world anymore. Especially as Network
Appliance boxes become more and more common (and they will be, fast and
furious) multi-processor and NFS are for all practical purposes already
the reality now, and will only be more so in the future. 

Doug
-- 
On account of being a democracy and run by the people, we are the only
nation in the world that has to keep a government four years, no matter
what it does.
-- Will Rogers



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-24 Thread Anonymous

  
  I think it's been pretty well known since the beginning that FreeBSD
  SMP performance is nothing to cheer about.  How does FreeBSD fare
  against NT or other systems on single processor systems?
 
 Sorry to follow up on my own message, but I noted today in PCWeek
 their trip back to the benchmark lab includes ripping 3 CPUs and
 768M RAM out of the system, to benchmark how Linux and NT perform
 on "lower-end" hardware.  They also allowed the RedHat dudes to
 switch to an Adaptec SCSI controller to talk to the RAID array.  
 How are we holding up under this "diminished" configuration?

We don't have any numbers for that yet, and we cheat a little (using a 
U2W controller and U2W external RAID unit).

-- 
\\  The mind's the standard   \\  Mike Smith
\\  of the man.   \\  [EMAIL PROTECTED]
\\-- Joseph Merrick   \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-24 Thread Anonymous

On Thu, 24 Jun 1999, Karl Denninger wrote:

 On Thu, Jun 24, 1999 at 02:33:10PM -0400, Brian F. Feldman wrote:
  On Thu, 24 Jun 1999, Karl Denninger wrote:
  
   On Thu, Jun 24, 1999 at 10:54:37AM -0700, Doug wrote:
We're adding some machines at work for (essentially) cgi
processing only. It was never considered to use anything less than 2 cpu
boxes, and the current round of testing is going so well that we're
seriously considering 4 cpu boxes because they are not that much more
expensive and our processing is highly CPU bound. I agree that redundancy
is a good thing, but at some point the increased network latency exceends
the point of diminishing returns for the redundancy factor. 

In short, increasing SMP efficiency should really be a priority
for N2 systems. 
   
   Agreed.  But this is a BIG job, because to do that you have to solve the
   "one big kernel lock" problem and go to fine-grained locking.  This is a
   non-trivial job.
  
  We don't need fine-grained locks. We would get good performance if we
  could get (say) per-subsystem locks.
 
 That's still a non-trivial task. :-)

A simple start would be to explicitly put a macro or call in each 
syscall to push down the lock.  That way people can move that
macro farther and farther down in the syscall code path, hopefully
removing it entirely in some cases.  I think having the call at
the beginning of each syscall would motivate people into doing that
sort of work.

"Hey, y'know getppid() is safe, i'll just take the lock out."
"this function xxx() is safe until this point I can process a lot
before actually needing this lock..."
"y'know I just have a structure that's not accessable to any other calls
that i'm going to fill in, i'll just lift the lock right here"
"if I just do this something here, I really am re-entrant and safe.."

Providing a simple api for spinlocks and mutexes would be very nice.

If some of the FreeBSD gods (core) said something along the lines
of we'd like to see the process table have XXX method of access
and locking people will code it, the same way with the many other
subsystems.

Things like pmap and UFS and INET will be a royal pain to get
SMP safe, however baby steps towards lifting the lock for
simpler subsystems will lead the way.  FreeBSD has the
most intellegent people in the industry working together, 
all that is needed is a starting point.

-Alfred Perlstein - [[EMAIL PROTECTED]|[EMAIL PROTECTED]] 
systems administrator and programmer
Win Telecom - http://www.wintelcom.net/



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-24 Thread Anonymous

 A simple start would be to explicitly put a macro or call in each 
 syscall to push down the lock.  That way people can move that
 macro farther and farther down in the syscall code path, hopefully
 removing it entirely in some cases.  I think having the call at
 the beginning of each syscall would motivate people into doing that
 sort of work.
 
 "Hey, y'know getppid() is safe, i'll just take the lock out."
 "this function xxx() is safe until this point I can process a lot
 before actually needing this lock..."
 "y'know I just have a structure that's not accessable to any other calls
 that i'm going to fill in, i'll just lift the lock right here"
 "if I just do this something here, I really am re-entrant and safe.."
 
 Providing a simple api for spinlocks and mutexes would be very nice.
 
 If some of the FreeBSD gods (core) said something along the lines
 of we'd like to see the process table have XXX method of access
 and locking people will code it, the same way with the many other
 subsystems.
 
 Things like pmap and UFS and INET will be a royal pain to get
 SMP safe, however baby steps towards lifting the lock for
 simpler subsystems will lead the way.  FreeBSD has the
 most intellegent people in the industry working together, 
 all that is needed is a starting point.

I think mutex is the way to go.  I am 100% for it, and I think now that this
problem is getting a good deal of light we should start to do something about
it.

One of the problems with locks that doesn't seem to have been mentioned
(although I am sure many have thought it) is deadlocks.  You get A waiting
for B and b with A.  With mutexi (plural?) you would lock just the resource
that you are curently working on, and you would be guaranteed to release it
(if the programmers do it right, of course ;).  The advantage is with Mutex
is that you don't need to be as omnipotent to use it.

--
David Cross   | email: [EMAIL PROTECTED] 
Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd 
Rensselaer Polytechnic Institute, | Ph: 518.276.2860
Department of Computer Science| Fax: 518.276.4033
I speak only for myself.  | WinNT:Linux::Linux:FreeBSD


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: System unique identifier.....

1999-06-24 Thread Anonymous

 From: Matthew Jacob [EMAIL PROTECTED]
 Date: 1999-06-24 15:03:56 -0700
 To: [EMAIL PROTECTED]
 Subject: System unique identifier.
 Delivered-to: [EMAIL PROTECTED]
 X-Loop: FreeBSD.ORG


 I was talking about this on linux-kernel, but it also applies to  
*BSD...

 What're folks' motions of a settable system unique identifier,  
available
 prior to mountroot? This identifier has to be 64 bits or better  
and must
 be persistent across reboots.
   This could start a long discussion :-}.

Some systems just take the IEEE MAC address from the motherboard, or  
that of the first interface it finds.  Others use some algorithmic  
variation on that value, but it generally boils down to the same  
thing.  For newer Intel boxes, you could just use the CPU chip...  
well, never mind.

The main issue, I think, is that of persistence.  How persistent do  
you want it?  I'd bet that no matter what source you use, there's  
always the problem of "it broke; I had to replace it; now what?".   
Kind of like your grandfather's axe, which has had six handles and  
two blades over its lifetime, but it's still your grandfather's axe.   


Regards,

Justin

--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics   |
Manager, CoreOS Networking| When crypto is outlawed,
Apple Computer, Inc.  | Only outlaws will have crypto.
2 Infinite Loop   |
Cupertino, CA 95014   |
*-*---*


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



synch primitives (was Re: Microsoft performance)

1999-06-24 Thread Anonymous

On Thu, 24 Jun 1999 20:14:19 CDT, Alfred Perlstein writes:
I'm not sure what you mean by the refernce to malloc types, I just
thought something along the lines of mutex_t with an API
for trying, allocating, freeing and initializing them.

i'd really like to implement some of the basic solaris primitives: mutex,
cv (condition variable), sema p/v. i sent a message to the smp list on this
at one point but didn't get much of a response other than cranky noises
about "super fine-grained locking isn't worth it". what i'd like to see is
the groundwork laid for finER locking so that we can gradually break up the
points of contention. mutex/cv/sema are intuitive and taught in every OS
course; i don't feel "simple_lock" or "lockmgr" are desirable or adequate.

i'm willing to work on it, but i can't get to it for at least a couple of
months, so i'm hoping someone else wants to work on it too.

aaron


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-24 Thread Anonymous

On Thu, 24 Jun 1999, Alfred Perlstein wrote:

 On Thu, 24 Jun 1999, Brian F. Feldman wrote:
 
  On Thu, 24 Jun 1999, Alfred Perlstein wrote:
  
   On Thu, 24 Jun 1999, Karl Denninger wrote:
   
   A simple start would be to explicitly put a macro or call in each 
   syscall to push down the lock.  That way people can move that
   macro farther and farther down in the syscall code path, hopefully
   removing it entirely in some cases.  I think having the call at
   the beginning of each syscall would motivate people into doing that
   sort of work.
   
   "Hey, y'know getppid() is safe, i'll just take the lock out."
   "this function xxx() is safe until this point I can process a lot
   before actually needing this lock..."
   "y'know I just have a structure that's not accessable to any other calls
   that i'm going to fill in, i'll just lift the lock right here"
   "if I just do this something here, I really am re-entrant and safe.."
   
   Providing a simple api for spinlocks and mutexes would be very nice.
   
  
  Something along the lines of how spl()s work? And mutex allocation like what
  we do with malloc types, maybe?
 
 I'm not sure what you mean by the refernce to malloc types, I just
 thought something along the lines of mutex_t with an API
 for trying, allocating, freeing and initializing them.

I meant something like an extensible set of mutex "groups", like our
kernel malloc uses. New mutex types would be added. Instead of per-
function mutexes, a single mutex "type" could be used for multiple functions
that are the same in usage of sensitive resources. Just an idea...

 
 Also, some really interesting things could be done via per-CPU
 resource pools to lower the amount of contention on objects.
 
 Pardon the niaveness of this idea, but things like per-CPU
 malloc areas and each CPU haveing a queue for CPUs if
 memory is free'd by a processor that down't "own" it.
 Things like someone signalling another processor if one of its
 free queues becomes full, or if a CPU finds its pool exhausted.
 
 -Alfred
 
 

 Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
 [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
   http://www.FreeBSD.org/  _ |___/___/___/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isa sio.c)

1999-06-23 Thread Anonymous

On Tue, 22 Jun 1999, Jeroen Ruigrok/Asmodai wrote:

 I am not fingerpointing here, not am I willing to. I just want to ask all
 developers to try and document at least the basic ideas somewhere in a 
 manpage in order to make it easier for others (like me) who want to get
 the documentation on the road.

If you write man pages first time, it is quite close to clack magic.
It would be really nice if someone comfortant with troff/nroff etc.
would make Handbook page describing how to get started with it.
Maybe even templates or script generating page sceletion and pointers to
them under some handbook entry

http://www.ee.freebsd.org/docproj/doc-set.html says, 

The [Documentation]Project does not really concern itself with these,
since they are a part of the base system.



best regards,
taavi



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isa sio.c)

1999-06-23 Thread Anonymous

  In case FreeBSD wants to enter commercial environments, we have to behave
  like behaving in commercial environments.
 
  Ok, so let's follow Microsoft's industry-leading documentation standards.
 
 He said "commercial", not "toy".

Given that I've just spent a very unhappy couple of weeks demonstrating 
that this "toy" you're referring to outperforms us by a factor of 
anything from 3 to 10 on a range of basic benchmarks, and has hundreds 
of developer-oriented books on the shelves in every major bookstore in 
the developed world, I think your position is perhaps slightly less 
than tenable here.

But Mark illustrates my point perfectly; developers don't write 
documentation.  That's what camp followers are for.  So far, we have 
the ones that whine about the loot and throw mud at us when we march 
too slowly, but not enough of the ones that sew our banners, mend our 
pots and pans, or teach our version of the gospel to the heathens we 
subdue.

-- 
\\  The mind's the standard   \\  Mike Smith
\\  of the man.   \\  [EMAIL PROTECTED]
\\-- Joseph Merrick   \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Inetd and wrapping.

1999-06-23 Thread Anonymous



On Tue, 22 Jun 1999 18:18:34 -0400, John Baldwin wrote:

 But if I want to log *all* connections to service foo, but not bar, I
 could not use tcpd for foo and and bar by itself and achieve that, so
 you are removing some configurability.  If very few people use this
 extra configurability and if it is a pain to add it in, then I guess
 it's no real big deal.

I used to pride myself in my communication skills, but I'm starting to
doubt myself. :-)

My concern is that what you want introduces duplicate functionality. I'm
not denying that you can't do exactly the same things with inetd that
you could with tcpd, but that's to be expected.

So far, the mail that I've received which has requested per-case
exclusion options has been motivated by two concerns:

1) Performance.

   I think we're all clear now that exclusion options will not
   introduce a significant performance gain. We've already
   scored our performance gain by obviating an exec on tcpd.

2) Logging.

   I understand that folks want to be able to have their logs
   look the same as they did when tcpd was in use. That's
   already not possible, since the wrapping-related messages you
   see come from inetd[pid] and not tcpd[pid].

   I believe that you can have all the messages you used to get
   going to all the places it used to go, but now using
   different configuration. Now you should use the
   hosts_options(5) "severity" option to assign a syslog
   selector to the messages generated for a service and tune
   syslog.conf to get messages to the right log destinations.

It's critical that folks understand that built-in wrapping in inetd is
not the same as inetd passing the job of wrapping to a program called
tcpd. Something different is happening in each case. It just so happens
that the two cases share a common goal.

When you say you want "functionality that exists with TCP wrappers", I
think you mean "identical semantics to those used with tcpd". You can't
have it, it's that simple.

What you should be able to have is the same functionality as was
available when using tcpd. I don't think the fact that you may need to
set things up differently to achieve the same results as you had before
isn't a serious problem, because you're doing a different thing now.

Hopefully this clarifies what's going on in my head. :-)

Later,
Sheldon.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: USB scanners?

1999-06-23 Thread Anonymous


Where is this docu available?

  this is a painful road in my experience. I suggest that you look at the
  SANE web page and see if there are pointers to documentation.
  
  HP has some documentation of the language (SCL ?) used by its SCSI
  scanners but i don't know to what degree it applies to non-SCSI
  units.
  
   cheers
   luigi
  ---+-
Luigi RIZZO, [EMAIL PROTECTED]  . Dip. di Ing. dell'Informazione
http://www.iet.unipi.it/~luigi/  . Universita` di Pisa
TEL/FAX: +39-050-568.533/522 . via Diotisalvi 2, 56126 PISA (Italy)
  
 http://www.iet.unipi.it/~luigi/ngc99/
    First International Workshop on Networked Group Communication  
  ---+-
  
  
  To Unsubscribe: send mail to [EMAIL PROTECTED]
  with "unsubscribe freebsd-hackers" in the body of the message
  
  

-- 
ISIS/STA, T.P.270, Joint Research Centre, 21020 Ispra, Italy



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: [usb-bsd] Re: USB scanners?

1999-06-23 Thread Anonymous


What kind of devices do you see showing up?

Would be a great help to get some idea of what is needed for the various
devices. For mice the support is pretty much cooked, but for example
keyboards sometimes have an extra mouse port.

Interesting would be things like camera's (still as well as video),
scanners, fingerprint readers, modems, ethernet adapters, anything
really.

I have printouts for the following devices
-mice
-BTC keyboard
-3COM modem
-HP 2700 scanner
-Labtech speakers
-3COM ethernet iface

Or hubs with extra functions (like the Entrega ones).

Nick

  Nick, do you need such info for generic hw as well ? I start seeing
  USP peripherals around in the office and i can briefly borrow them
  and run a quick dump on my 3.2 machine.
  
   cheers
   luigi
  ---+-
Luigi RIZZO, [EMAIL PROTECTED]  . Dip. di Ing. dell'Informazione
http://www.iet.unipi.it/~luigi/  . Universita` di Pisa
TEL/FAX: +39-050-568.533/522 . via Diotisalvi 2, 56126 PISA (Italy)
  
 http://www.iet.unipi.it/~luigi/ngc99/
    First International Workshop on Networked Group Communication  
  ---+-
  
  

-- 
ISIS/STA, T.P.270, Joint Research Centre, 21020 Ispra, Italy



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



NIS Question

1999-06-23 Thread Anonymous

Here's my situation:

1.  I would like to set up NIS on my network.
2.  I have one FreeBSD system(2.2.6)
3.  I have many other flavors of Unix on this network
4.  I would like the FreeBSD system to export it's passwd and group files to
the other machines

How do I achieve this?  Do I just run ypserv  ypbind?   Any FAQ's around???

Thanx up front!



Nick
[EMAIL PROTECTED]
Web Page: http://www.lopresti.dhs.org/users/nick



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Difference between msync() and fsync()

1999-06-23 Thread Anonymous

You should first check out how msync/fsync work on something like solaris,
since every time I've checked for the last five years or so no version of
bsd has really got it working right (although netbsd + UVM may finally
have it).

To observe msync/fsync in action use tcpdump to watch a host as it does
msync/fsync on an nfs-mounted file system. You can tell by the NFS packets
what's actually going on. Be sure to do msync on partial mapped ranges,
not simple msync's of the whole region, as well as on dirty pages, clean
pages, etc. Obviously for clean pages you should see no traffic when the
msync is called, and you should see traffic when the page is referenced
again. I've never had this latter test work on freebsd, and lots of other
os'es. The only OS it ever really worked correctly on is sunos/solaris.

You can search old archives for a long message from me (ca. 1995?) about
how msync doesn't work right on freebsd.

ron




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: All this and documentation too? (was: cvs commit: src/sys/isa sio.c))

1999-06-23 Thread Anonymous

On Wed, Jun 23, 1999 at 04:39:28PM +0930, Greg Lehey wrote:
  But Mark illustrates my point perfectly; developers don't write
  documentation.  That's what camp followers are for.  So far, we have
  the ones that whine about the loot and throw mud at us when we march
  too slowly, but not enough of the ones that sew our banners, mend our
  pots and pans, or teach our version of the gospel to the heathens we
  subdue.
 
 You can never get enough of them.

And you don't get them by calling them "camp followers" either.

You get them by supporting them.  Documentation doesn't spring out of 
thin air.  If (to pick an example) the new syscons stuff[1] is undocumented
then someone's got to document it.

Right now, that can only be done by the original developers.  In three
month's time we might have enough people who have written code with it
that they could do it.

And in a year's time we might have someone who's been diligently 
following the mailing lists and has managed to piece something together
based on what they've soon.  Or who has been forced to use this mass of
undocumented code[2], worked out how it works, *and* taken the time to
write the documentation.

So, when do you want useful documentation?

N

[1]  Chosen at random.  I haven't looked at it, so have no idea how clear
 or easy to follow the syscons code is.

[2]  See footnote 1 again.
-- 
 [intentional self-reference] can be easily accommodated using a blessed,
 non-self-referential dummy head-node whose own object destructor severs
 the links.
-- Tom Christiansen in [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Connect and so on..

1999-06-23 Thread Anonymous

On Wed, 23 Jun 1999, Dan Seguin wrote:

 
 
 Hi All.
 
 I'm trying to create a system call that will burst a (pseudo) quick tcp
 message out to a remote host every time that it is called. I've got the
 system call all worked out as a kld, it loads and restores without a
 hitch.

Good, you're mostly there then!

 
 I use the calling proc's table as it is passed to the system call, and am
 trying to call socket and connect as if the user process originally called
 them one by one (from userland syscall 97 and 98). I seem to be getting
 the correct behaviour from socket, but the connect call fails. After
 DDB'ing and breaking on the call to connect, it appears to fail at copyin
 with an EFAULT (invalid address). Call stack: copyin from getsockaddr from
 connect. What am I missing here, and/or what incorrect assumptions have I
 made? I'm including the actual system call function below.

copyin() is done to get the sockaddr from the connect call. A copyin() is a user-space
to kernel-space memory copy, so you have a problem in your code (I'll point out where
below).

 
 Thanks!
 
 Dan
 
 P.S. I test the system call from userland with a small C prog that uses
 syscall().
 
  CODE starts 
 
 static int init_comms(p, uap)
 struct proc *p;
 register struct nosys_args *uap;
 {
   int sockfd1, stat; 
   struct socket_args socket_uap;
   struct connect_args connect_uap;
   static struct sockaddr_in servaddr;

This needs to be a valid structure in USER space, not kernel.

  
   socket_uap.domain = PF_LOCAL;
   socket_uap.type = SOCK_STREAM;
   socket_uap.protocol = 0; 
 
   stat = socket(p, socket_uap);
if (stat)
return stat;
  
   sockfd1 = p-p_retval[0];
  
   bzero(servaddr, sizeof(servaddr));
   
   servaddr.sin_family = AF_LOCAL;
   servaddr.sin_port   = htons(13);
   servaddr.sin_len= sizeof servaddr;
   
 
  if ( inet_aton((char *) "127.0.0.1", servaddr.sin_addr) = 0 )
This is a bogus cast. const char * to char *?
 printf("\ninet_aton failed.\n");
So return EINVAL.
   

   printf("\nservaddr: %x\n", servaddr.sin_addr.s_addr);
AHEM! Why??
   
   /* Prints 17e */

Try using servaddr.sin_addr.saddr = 0;

   
   connect_uap.s = sockfd1;
   connect_uap.name = (caddr_t) servaddr;

That's the problem. It needs to point to (say) uap-servaddr;

   connect_uap.namelen = sizeof servaddr;
   
   stat = 0;
   stat = connect(p, connect_uap);
   
   printf("\nConnect Stat: %d\n", stat);
   
Take that out.
   /* Prints 14 (EFAULT) */
   
   return 0;
return stat instead. The standard is to use a variable named "error".
  
 }
 
 - Code Ends ---
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 
Note that I haven't checked the correctness of the code other than a quick glance.
These errors are real, though.

 Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
 [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
   http://www.FreeBSD.org/  _ |___/___/___/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: All this and documentation too?(was: cvs commit: src/sys/isa sio.c))

1999-06-23 Thread Anonymous

On Wed, 23 Jun 1999, Nik Clayton wrote:

[deleted cvs-all from the list of cc's, how'd it get there?

 On Wed, Jun 23, 1999 at 04:39:28PM +0930, Greg Lehey wrote:
   But Mark illustrates my point perfectly; developers don't write
   documentation.  That's what camp followers are for.  So far, we have
   the ones that whine about the loot and throw mud at us when we march
   too slowly, but not enough of the ones that sew our banners, mend our
   pots and pans, or teach our version of the gospel to the heathens we
   subdue.
  
  You can never get enough of them.
 
 And you don't get them by calling them "camp followers" either.

But one thing I like is, although FreeBSD *does* try to appease user
demands, it's controlled by programmers, not users, so if something is
a technically extemely evil idea, no matter how the masses yell for it,
it will NOT happen.

We want to listen to our users, we don't want to disparage them, but we
sure don't want to "sell our souls" to the masses either.  FreeBSD is
technical, and we want it to stay that way.  If we can be smart and form
something that everyone else likes, that's also very good, but not the
first priority, I think.

Making something we are all proud of, that's what keeps programmers
here.

+---
Chuck Robey | Interests include any kind of voice or data 
[EMAIL PROTECTED]   | communications topic, C programming, and Unix.
213 Lakeside Drive Apt T-1  |
Greenbelt, MD 20770 | I run picnic and jaunt, both FreeBSD-current.
(301) 220-2114  | 
+---






To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-23 Thread Anonymous

On Wed, Jun 23, 1999 at 11:24:03PM -0400, Brian F. Feldman wrote:
 On Wed, 23 Jun 1999, Garance A Drosihn wrote:
 
  At 4:39 PM +0930 6/23/99, Greg Lehey wrote:
  On Tuesday, 22 June 1999 at 23:52:25 -0700, Mike Smith wrote:
   [someone said]
  | [someone said]
  | Ok, so let's follow Microsoft's industry-leading documentation
  | standards.
  |
  | He said "commercial", not "toy".
  
   Given that I've just spent a very unhappy couple of weeks
   demonstrating that this "toy" you're referring to outperforms
   us by a factor of anything from 3 to 10 on a range of basic
   benchmarks,
  
   Really?  This is so different from anything I've heard that I'm
   astounded.  How about some details?
  
  I also found Mike's comment on performance interesting.  I assume
  he's talking about system performance, and not documentation
  performance.  Was this when testing WinNT-2000, or just the latest
  service pack on WinNT 4?
 
 s/interesting/unbelievable/g and you've got my reaction. This makes so little
 sense that I can't even imagine it.

Me too.

I've found FreeBSD to outperform NT-anything in any task you throw at the
machine from web service to Samba for file and print service for PCs
running Windows.

Its more stable too; the stability is a free "bonus" that comes at no
extra charge :-).

--
-- 
Karl Denninger ([EMAIL PROTECTED])  Web: fathers.denninger.net
I ain't even *authorized* to speak for anyone other than myself, so give
up now on trying to associate my words with any particular organization.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isasio.c)

1999-06-23 Thread Anonymous



On Wed, 23 Jun 1999, Greg Lehey wrote:

 There's a man page for it :-)
 
 mdoc.samples(7).  Now tell me that that's not intuitive.

Is it just me or does everyone get a (non-fatal) error as mdoc.samples(7)
is formatted? The perfect man page for an error as well :-)

Andrew



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Microsoft performance (was: ...)

1999-06-23 Thread Anonymous


%Basically there are some applications and benchmarks for which FreeBSD

uh, "benchmarks" only, until evidence is produced otherwise.

Tuning for benchmarks has been around a long long time.

People get worked up about this because the people who give
out the money to buy the systems use benchmarks to decide
whom to give the money to.  

It's really, really stupid to rely on generic benchmarks.

But people do, anyway.  So I guess whistle and some others should
invest in tuning for the benchmarks.  Like jupiter, eh?  Or maybe
Apple.
 
But for the rest, I wouldn't panic.

In fact, there's probably some interesting kernel architecture
issues here.  Let's hear them, now!  If I wanted secrecy about
architecture details there's a shitload less time consuming
ways to do it then follow FreeBSD.

Russell




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



TCP input processing bug

1999-06-22 Thread Anonymous


I think I've located a problem in TCP input processing...and it has
been there for quite a while.  It breaks half-open connection
discovery for many cases since version 1.15 of netinet/tcp_input.c
(committed by Garrett Wollman, which is why this is Cc'd to him),
although that isn't where the (presumably) incorrect behavior was
introduced.

The half-open connection discovery problem can be reproduced easily,
the conditions required are:

 - Machine A thinks it has an established connection with machine B

 - Machine B disagrees (it has crashed, the network has been down,
   maybe has been recently assigned the IP of another machine that
   disconnected unnicely etc., there are a lot of conditions that
   can cause this)

 - Machine B tries to connect to machine A using the same source
   port number as the half-open connection

 - Machine B selects a sequence number below the current window
   expected by machine A

Machine B sends a SYN, but gets nothing as a reply (it should be
getting an ACK), no matter how many times it tries.  Machine A will
keep the connection in an established state until it tries to send
data (depending on the application, this may never happen) or is timed
out by keepalives.

This is particularly nasty if the boot procedure of machine B
establishes a TCP connection to machine A - after a crash, it'll
always try to use the same port number and never succeed.

Basically, in the tcp_input function, just before ACK processing, when
'goto drop' is done if ACK isn't set, TF_ACKNOW might be set in
tp-t_flags, but the ACK is never sent because tcp_output is never
called.

This can be fixed by checking for TF_ACKNOW in the drop: case and
calling tcp_output if it is set.  However, such a modification can
change the behavior of a considerable number of cases so I think it
needs careful verification.

Anyone who knows the TCP code, please comment!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: cvs commit: src/sys/kern imgact_gzip.c

1999-06-22 Thread Anonymous

On Tue, 22 Jun 1999, Kris Kennaway wrote:

 On Tue, 22 Jun 1999, Brian F. Feldman wrote:
 
  Date: Tue, 22 Jun 1999 01:08:04 -0400 (EDT)
  From: Brian F. Feldman [EMAIL PROTECTED]
  To: Kris Kennaway [EMAIL PROTECTED]
  Cc: Peter Wemm [EMAIL PROTECTED], Jean-Marc Zucconi [EMAIL PROTECTED],
  [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
  Subject: Re: cvs commit: src/sys/kern imgact_gzip.c 
  
  On Tue, 22 Jun 1999, Kris Kennaway wrote:
  
   On Tue, 22 Jun 1999, Peter Wemm wrote:
   
Ahh yes, I forgot that / was read-write for MFS boots.  However:

#!/bin/sh
skip=18
if /usr/bin/tail +$skip $0 | gzip -cd  /tmp/gztmp$$; then
  chmod 700 /tmp/gztmp$$
  prog="`echo $0 | sed 's|^.*/||'`"
  if /bin/ln /tmp/gztmp$$ "/tmp/$prog" 2/dev/null; then
trap '/bin/rm -f /tmp/gztmp$$ "/tmp/$prog"; exit $res' 0
(/bin/sleep 5; /bin/rm -f /tmp/gztmp$$ "/tmp/$prog") 2/dev/null 
/tmp/"$prog" ${1+"$@"}; res=$?
  else
trap '/bin/rm -f /tmp/gztmp$$; exit $res' 0
(/bin/sleep 5; /bin/rm -f /tmp/gztmp$$) 2/dev/null 
/tmp/gztmp$$ ${1+"$@"}; res=$?
  fi
else
  echo Cannot decompress $0; exit 1
fi; exit $res
   
   This is the unpatched (insecure) version of gzexe (all the /tmp/gztmp$$'s),
   but it's functionally the same.
   
Now, if tail, sh, gzip, chmod, ln, sleep, rm, etc are all in the gzexe'd
crunched linked binary, how is it supposed to decompress itself?  "sh" itself
is part of the crunched binary, so what is going to decode sh when sh itself
is a shell script?
   
   Yes, that seems to be a problem - gzexe depends on those executables. However
   it shouldn't be too hard to recode this decompressor in C to perform the same
   job without any external dependencies. The question is whether that would be
   easier than fixing the kernel to handle gzipped ELF binaries transparently -
   almost certainly it would be.
  
  How's what I attached?
 
 [Context left in for cross-post to hackers]
 
 Hmm..I don't have a deflate on my system. This should be linked static as
 well, otherwise you need the runtime linker + libraries, and that has a 69k
 overhead (when stripped). Possibly this could be optimized further..I don't
 know if this is small enough to be useful however.

It's a proof of concept, it didn't need to be static. I don't have a program
to do deflate either. What I know is that you said it would be hard, but
it was not very hard to make a framework to do what gzexe does in C.

 
 Mike's suggestion of a gzipped MFS image is probably best for things like boot
 floppies.
 
 Kris
 
   Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
   [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
   FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
 http://www.FreeBSD.org/  _ |___/___/___/ 
  
 
 -
 "Never criticize anybody until you have walked a mile in their shoes,
 because by that time you will be a mile away and have their shoes."
 -- Unknown
 

 Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
 [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
   http://www.FreeBSD.org/  _ |___/___/___/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: cvs commit: src/sys/kern imgact_gzip.c

1999-06-22 Thread Anonymous

On Wed, 23 Jun 1999, Kris Kennaway wrote:

 On Tue, 22 Jun 1999, Brian F. Feldman wrote:
 
   Hmm..I don't have a deflate on my system. This should be linked static as
   well, otherwise you need the runtime linker + libraries, and that has a 69k
   overhead (when stripped). Possibly this could be optimized further..I don't
   know if this is small enough to be useful however.
  
  It's a proof of concept, it didn't need to be static. I don't have a program
  to do deflate either. What I know is that you said it would be hard, but
  it was not very hard to make a framework to do what gzexe does in C.
 
 Actually:
 
 The question is whether that would be easier than fixing the
 kernel to handle gzipped ELF binaries transparently - 
 almost certainly it would be.
 
 I said it would be easy(ier) :)
 
 FWIW, compiling libc.a and libz.a with -Os brings the overhead down to 67416
 bytes per executable. Linked dynamically it's 4829 bytes (i.e. the other 62k
 is library code), so it doesn't look like there's much room for improvement.

This sure seems like enough to replace a.out gzip support. Taking the
compression/decompression routines out of the kernel would save memory and
result in roughly the same amount of space being used. If we had a deflate
program, this would work quite well =)

 
 Kris
 
 -
 "Never criticize anybody until you have walked a mile in their shoes,
 because by that time you will be a mile away and have their shoes."
 -- Unknown
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 

 Brian Fundakowski Feldman  _ __ ___   ___ ___ ___  
 [EMAIL PROTECTED]   _ __ ___ | _ ) __|   \ 
 FreeBSD: The Power to Serve!_ __ | _ \._ \ |) |
   http://www.FreeBSD.org/  _ |___/___/___/ 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



mysterious problem with 2.2.x binary on 3.1

1999-06-22 Thread Anonymous


Hi,

I have a mysterious problem with running a 2.2.6 binary (dynamically
linked) on a 3.1 box. The crazy thing is that it has worked flawlessly
before.

After doing a bit of development and compiling it again, I get 
segfaults when I try to run it on the 3.1 box.

When I try it with an a.out gdb (ftp'ed from the 2.2.6 box) I get this:

 ./gdb web-ssql 
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd), Copyright 1996 Free Software Foundation, Inc...
(gdb) r -v
Starting program: /home/bowtie/web-ssql -v
reading register eip (#8): Bad address.
(gdb)


(3.1) ldd web-ssql:
 ldd web-ssql 
web-ssql:
-lcrypt.2 = /usr/lib/aout/libcrypt.so.2.0 (0x200a3000)
-lm.2 = /usr/lib/aout/libm.so.2.0 (0x200b8000)
-lc.3 = /usr/lib/aout/libc.so.3.1 (0x200d2000)

(2.2.6) ldd web-ssql:
web-ssql:
-lcrypt.2 = /usr/lib/libcrypt.so.2.0 (0x200ab000)
-lm.2 = /usr/lib/libm.so.2.0 (0x200ae000)
-lc.3 = /usr/lib/libc.so.3.1 (0x200c8000)

When I link the binary statically it works ok, but unfortunately I 
need it to be dynamically linked.

Does anyone recognize this behaviour? And even better knows whats
going on?

Regards,
Marc.


Marc van Kempen BowTie Technology 
Email: [EMAIL PROTECTED]WWW  Databases
tel. +31 40 2 43 20 65 
fax. +31 40 2 44 21 86 http://www.bowtie.nl






To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Serial Console Wierdness

1999-06-22 Thread Anonymous

'cu' hangs up really easily. use 'kermit' (it's in ports) and the hangup
problem will disappear. i tried to find an option to cu to modify its
hangup behavior but to no avail.

your second problem sounds like it could be terminal sizing -- have you
tried this with a default 80x24 window, set and exported TERM properly, etc?

i was not able to get my console to work properly past 38400 baud; i am not
sure why. 38400 has been just fine speed-wise for me, though, so i'm not
that upset. :)

(also see http://www.arctic.org/~aaron/tips/freebsd-serial-console)

aaron

On Tue, 22 Jun 1999 13:31:33 EDT, "Bill G." writes:
I got a serial console working on COM2, to which I have connected
another FreeBSD box.  I connect with 'cu' fine, but I'm running into
a couple of problems which I haven't been able to find and answer
for.

o  When I connect, when the machine is first turned on, I get
   disconnected twice during the boot up sequence (cu reports
   Got hangup signal) -- looks like when the sio1 device is
   probed, and also when getty runs.

o  9600 was rather slow, so I changed it to 115200, which worked,
   however I had a few problems with terminal display -- any
   output that scrolls down past the bottom of the screen gets
   'garbled'.  (IE, I run clear; ls -l /  -- the first 23 lines
   look ok then it gets messed up).  Same results from console
   mode of my client machine and from an xterm.  I thought that
   115200 might be too fast, so I slowed it down to 38400, but
   same trouble.  I'm not sure if this occured at 9600.

Any thoughts / ideas / suggestions would be appreciated.  Thanks,


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isasio.c)

1999-06-22 Thread Anonymous

On Tue, 22 Jun 1999, Hellmuth Michaelis wrote:

 From the keyboard of Nick Hibma:
 
  And as to the author: Writing docu while you are implementing something
  might work in a commercial environment where you want to be able to
  market something before it's sell-by date, but for hobbiests who
  basically spend the odd evening doing something, it is too much hassle.
 
 In case FreeBSD wants to enter commercial environments, we have to behave
 like behaving in commercial environments.
 
 I know that it is current behaviour, much easier and obviously a commonly
 accepted thing that code, subsystem and/or changes are not and need not
 to be documented, but this is not a reason in itself for not changing this.
 
 Also, i think that the argument Mike and others use: "don't complain for a 
 lack of things, contribute!" - which i use and used all the time - is not
 valid for this issue: at least i can't contribute because i don't understand
 things (now someone could argue, that i'm wrong here ...).
 
 The last thing i want is a flamewar on this topic and i don't write this
 because i want to piss onto someones shoes. And i don't write about a
 man page for "ls" or "more" but a fundamental change in FreeBSD's inner
 architecture.

Writing software in one's spare time is a case of triage. When I have a
day or two to spend working on FreeBSD, I have to make a choice on what
most needs doing and if that is a choice between technical writing or
designing an algorithm to fix the current limitations of driver detach and
KLD unload, I don't think the technical writing is going to win.

People must also bear in mind that the most important target release for
this software is 4.0 which isn't scheduled until next year. I am certain
that the documentation situation will improve before that release.

--
Doug Rabson Mail:  [EMAIL PROTECTED]
Nonlinear Systems Ltd.  Phone: +44 181 442 9037




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: CDROM drive doesn't probe if no CD present [Was:cannot mount cd indicates bad ide cd drive - replace?]

1999-06-22 Thread Anonymous

I'm lofting this up on -hackers to get the attention of the ATAPI CD
driver programmer -- Soren, you still around?  Take a look at this.

On Tue, 22 Jun 1999, Woody Carey wrote:

 Ok, here is some more information:
 
 Here is the behavior when there is no cd in the drive at bootup [reboot,
 actually]
 ^M^[[Kmyname# mount /cdrom
 cd9660: Input/output error
 myname# dmesg

[...]

 wdc0: unit 1 (atapi): ATAPI CDROM/V2.10, removable, accel, dma, iordy
 acd0: drive speed 0 - 4125KB/sec, 128KB cache
 acd0: supported read types: CD-R, CD-RW, CD-DA
 acd0: Audio: play, 255 volume levels
 acd0: Mechanism: ejectable tray
 acd0: Medium: no/blank disc inside, unlocked 

 and here is the dmesg output and mount output with a cd in the drive at
 boot:
 
 myname# dmesg
[...]
 wdc0: unit 1 (atapi): ATAPI CDROM/V2.10, removable, accel, dma, iordy
 acd0: drive speed 4125KB/sec, 128KB cache
 acd0: supported read types: CD-R, CD-RW, CD-DA
 acd0: Audio: play, 255 volume levels
 acd0: Mechanism: ejectable tray
 acd0: Medium: CD-ROM 120mm data disc loaded, unlocked

 myname# mount /cdrom 
 
 There was some success message on the console after this mount
 indicating success.
 It did not appear in this script output, obviously.  

Bizarre.  That may be a driver bug or your drive is getting into an
inconsistent state if it doesn't boot with a CD present.

What brand/model of CD drive is it?

Doug White   
Internet:  [EMAIL PROTECTED]| FreeBSD: The Power to Serve
http://gladstone.uoregon.edu/~dwhite| www.freebsd.org




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isa sio.c)

1999-06-22 Thread Anonymous

* Mark Newton ([EMAIL PROTECTED]) [990622 17:38]:
 Hellmuth Michaelis wrote:
 
And as to the author: Writing docu while you are implementing something
might work in a commercial environment where you want to be able to
market something before it's sell-by date, but for hobbiests who
basically spend the odd evening doing something, it is too much hassle.
   
   In case FreeBSD wants to enter commercial environments, we have to behave
   like behaving in commercial environments.
  
 Ok, so let's follow Microsoft's industry-leading documentation standards.

Blah, this argument is, pardon my french, utter bullshit.

If one looks at, the now deceased, DEC Unix and it's programmer's manuals, ye
see what Hellmuth tries to put down with his statement. In fact I have a 
couple of those pdf/ps files printed out and they make for TOP CLASS
programmer's material. Needless to say I hope to reach this level of 
excellence with the PDP as well...

It's all a matter of time and effort and unfortunately not many care to take
the time to document, but rather hack on. (And somewhere that's very 
understandable.)

-- 
Jeroen Ruigrok van der Wervenasmodai(at)wxs.nl
The *BSD Programmer's Documentation Project 
Network/Security Specialist  http://home.wxs.nl/~asmodai
*BSD: We are back and will not accept no...


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isa sio.c)

1999-06-22 Thread Anonymous

* Mike Smith ([EMAIL PROTECTED]) [990622 17:38]:
  And they might, too.  phk has frequently expressed a desire to either
  write documentation on existing systems, or at least help others do
  so.
 
 No offence meant, but we can see how much of this has actually 
 materialised.

Hence I started the PDP =P

Still going strong...

   Documentation is written after the fact, by someone else.
  
  That's the worst kind of documentation.  In fact, most UNIX
  documentation is written by the authors.  After the fact, admittedly.
 
 In fact, most Unix documentation is never written, being my original 
 point.

Which sucks given all the crap the same people tend to spew then about 
Microsoft being very closed about their internals.

No documentation is worse than just a sparse manpage. The latter at least
makes it more understanding for all without doing too much UTSL.
And given the aspirations the Project has with regard to commercial support
I find the silent encouragement of just hack and not document disturbing
to say the very least.

 As always, complaining about the _lack_ of something is the wrong 
 approach for this project.  Step up and fill the gap, or expose 
 yourself to criticism for failing to do so.  There has to be a way to 
 make a verb from Brett Glass' name, but I'm sure you get the point.

And I did/am doing that with the PDP, which at it current rate of support
(that is just me ;) whill be finished somewhere when FreeBSD 6.5 will be
released or so, but I am not complaining about that =)

I am not fingerpointing here, not am I willing to. I just want to ask all
developers to try and document at least the basic ideas somewhere in a 
manpage in order to make it easier for others (like me) who want to get
the documentation on the road.

Thanks,

-- 
Jeroen Ruigrok van der Wervenasmodai(at)wxs.nl
The *BSD Programmer's Documentation Project 
Network/Security Specialist  http://home.wxs.nl/~asmodai
*BSD: We are back and will not accept no...


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



2.2.7 + NBUF + NMBCLUSTERS

1999-06-22 Thread Anonymous

Hoi folx,

I have a 2.2.7 system that runs out of mbuf clusters.

maxuser 64

I've raised 

options NMBCLUSTERS=6144
options NBUF=3072

and that made it for a while. However the system is running a chatserver
and a webserver of a customer and now it hits me again.

Are there any problems in raising it to

options NMBCLUSTERS=16384
options NBUF=8192

Does this combination make sense at all?
(in the LINT file NBUF was half the value of NMBCLUSTERS, so I kept
 this).

Thanks

\Maex

-- 
SpaceNet GmbH |   http://www.Space.Net/   | Yeah, yo mama dresses
Research  Development| mailto:[EMAIL PROTECTED] | you funny and you need
Joseph-Dollinger-Bogen 14 |  Tel: +49 (89) 32356-0| a mouse to delete files
D-80807 Muenchen  |  Fax: +49 (89) 32356-299  |


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isa sio.c)

1999-06-22 Thread Anonymous

On Tuesday, 22 June 1999 at  1:42:05 -0700, Mike Smith wrote:
 And they might, too.  phk has frequently expressed a desire to either
 write documentation on existing systems, or at least help others do
 so.

 No offence meant, but we can see how much of this has actually
 materialised.

None taken.  But if it hasn't happened yet, it's not phk's fault.  The
real problem is a general attitude: UTSL.  Sure, a good hacker can get
by with the source, but good documentation makes for a smoother
project.

 It has never happened that way (anywhere, on any project),

 Of course it has.  It's just uncommon in the FreeBSD environment.  In
 many large projects, you don't do any code until you have a clear
 definition of what you're going to do.

 It's uncommon in _most_ environments.  Or perhaps tech writers exist
 for some other purpose?

I don't know too many UNIX tech writers.

 and it never will.

 My father never had a computer, and his father never did, so I never
 will have one.  What an argument.

 The circumstances aren't comparable.

Why not?  In each case, you're resisting change.

 Documentation is written after the fact, by someone else.

 That's the worst kind of documentation.  In fact, most UNIX
 documentation is written by the authors.  After the fact, admittedly.

 In fact, most Unix documentation is never written, being my original
 point.

That doesn't make it a desirable or unchangeable situation.

 Hopefully the change of subject line and recipients will get some more
 representative views on this subject.

 Perhaps I should have been clearer; the sort of documentation that the
 original set of plaintiffs were asking for is the mythical "describe
 everything as it was, is and will be, and make it constantly
 representative and up to date".

This clarifies your interpretation of the situation.  In fact, I was
the "original plaintiff", and I wrote:

 Nice to know there's a man page.  But the real thing is that the
 "right thing" to do needs to be documented somewhere.  It would be
 nice, for example, to have an overview of the design principles.  Yes,
 I know I'm asking for a lot here, but it would really help.

 These are the same people that will complain about disparities
 between any extant documentation and reality, as well as carp
 incessantly about the lack of some form of documentation other than
 what already exists ("why isn't there a permuted index?" "where's
 the sanskrit translation?"

I think you're reading more into this than was stated.

 "my cat can't read _this_!").

Put in a PR.  cat should be able to read anything.

 As always, complaining about the _lack_ of something is the wrong
 approach for this project.  Step up and fill the gap, or expose
 yourself to criticism for failing to do so.  There has to be a way
 to make a verb from Brett Glass' name, but I'm sure you get the
 point.

"To glass"?

Yes, I'm a firm believer in "if it's broke, fix it yourself".  I'm
also not complaining about the current situation; it's probably too
late for that.  But it would be really nice if we could cultivate this
concept of describing what you're doing while you're doing it.

Greg
--
See complete headers for address, home page and phone numbers
finger [EMAIL PROTECTED] for PGP public key


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: All this and documentation too? (was: cvs commit: src/sys/isa sio.c)

1999-06-22 Thread Anonymous

In message [EMAIL PROTECTED] Jeroen Ruigrok/Asmodai 
writes:
: Granted, we can never think of reaching a commercial level on documentating
: the internals/code which all the committers provide. 

I think that the documenation that Doug has written to date EXCEEDS so
called commercial standards.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message