Re: USB crappiness?

2003-07-19 Thread Bryan Liesner
On Sat, 19 Jul 2003, Juli Mallett wrote:

> Hi,
>
> I tried to upgrade my workstation to current recently, and I have to
> use a lot of USB, and while using some USB mass storage device, with
> a UFS filesystem on it, and doing a large operation to it (tar c|tar x)
> everything deadlocked on ufs, the USB stack blew up, and upon causing
> an interrupt to it, it panicked, and panic pagefaulted.
>
> Anyone else seeing these sorts of cohesive fallovers?
>
> Thanx,
> juli.
>

Yes, I can confirm that.  I do an nightly dump to a file on my USB
hard disk (ehci).  I woke up to find a screen full of read errors, and
at first I thought the disk went belly up.  I reverted back and it was
working fine.  I/O speed has _seriously_ degraded as well.  Prior to
the bus dma patches, I was getting a little better than 8 MB/s writes to
the disk, afterwards, less than 2 MB/s.  The "performance hit"
discussed prior to the commit is a bit of an understatement.

-Bryan





___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


background processes stuck in locks with ULE

2003-07-19 Thread Khairil Yusof
Trying out ULE scheduling on an SMP machine causes background processes
to be stuck in locks.

One or two processes will always get stuck in *Giant (and takes up like
60% of lock) and if these are killed, then other processes are always
taking up a total of around 10% in lock, which makes the system crawl.

Anybody else seeing this on an SMP machine with ULE scheduler?
 
--
"Optimized, readable, on time; Pick any two." 

FreeBSD 5.1-CURRENT i386 
1:08PM up 40 mins, 2 users, load averages: 1.53, 1.62, 1.33


signature.asc
Description: This is a digitally signed message part


USB crappiness?

2003-07-19 Thread Juli Mallett
Hi,

I tried to upgrade my workstation to current recently, and I have to
use a lot of USB, and while using some USB mass storage device, with
a UFS filesystem on it, and doing a large operation to it (tar c|tar x)
everything deadlocked on ufs, the USB stack blew up, and upon causing
an interrupt to it, it panicked, and panic pagefaulted.

Anyone else seeing these sorts of cohesive fallovers?

Thanx,
juli.
-- 
juli mallett. email: [EMAIL PROTECTED]; efnet: juli; aim: bsdflata;
i have lost my way home early - i don't care cause i won't stay there.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


OT:escaping X barfings

2003-07-19 Thread root
Hello all!
CAn you tell me how a procedure how to patch X and kernel
to avoid X barfings from securelevel? My release is a FreeBSD 5.1.
I looked for patches, unfortunately they're more than a year old.Googled and
searched on MARC - nothing new under the sun. Therefore I suppose all works ok
in -CURRENT.I'm thinking of: 
 1) CVSup src and ports to "."
 2) adding `options APERTURE` to my kernel
 3) make buildkernel && make install kernel && make buildworld 
 4) reboot and face the music
 TIA,
Dimitar Vassilev - hobbyist and FDP-BG translator 
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


kernel coredumps with 4GB of ram/SMP? with -current

2003-07-19 Thread Aaron Wohl
On my two test (1gb of ram and 512mb of ram) systems if I do reboot -d I
get a kernel crash dump I can read ok (which is what -d is supposed to
do).  On my two systems with 4GB of ram when I do reboot -d it says:
Dumping 3838 MB

Then it sits there.  It doesnt print out any progress like it does with
the systems with smaller amounts of ram.  If I press a space bar it says:
[CTRL-C to abort]

If I let it sit for hours then try pressing the space bar again it has
stopped respondng. In all cases dumpon was run pointing at the first swap
area.

Is anyone with 4GB of ram and -current getting kernel core dumps?  Also
the 4GB systems are XEON 2800mhz if having SMP matters.

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


[SMALL PATCH] usbdevs

2003-07-19 Thread Andre Guibert de Bruet
Hi,

I've attached a patch for usbdevs that adds a manufacturer id for "X10
Wireless Technology" and the RF Receiver that they bundle as part of ATI's
Radeon 8500DV video card package.

Regards,
Andy

> Andre Guibert de Bruet | Enterprise Software Consultant >
> Silicon Landmark, LLC. | http://siliconlandmark.com/>--- usbdevs Mon Jul 14 15:30:01 2003
+++ usbdevs.new Fri Jul 18 11:07:35 2003
@@ -339,6 +339,7 @@
 vendor NEC20x0b62  NEC
 vendor ATI20x0b6f  ATI
 vendor ASIX0x0b95  ASIX Electronics
+vendor X10 0x0bc7  X10 Wireless Technology
 vendor REALTEK 0x0bda  RealTek
 vendor AGATE   0x0c08  Agate Technologies
 vendor DMI 0x0c0b  DMI
@@ -1188,6 +1189,9 @@
 product WACOM GRAPHIRE 0x0010  Graphire
 product WACOM INTUOSA5 0x0021  Intuos A5
 product WACOM GD0912U  0x0022  Intuos 9x12 Graphics Tablet
+
+/* X10 Wireless Technology */
+product X10 USBRFRCVR  0x0004  USB RF Receiver (Sometimes Branded ATI)
 
 /* Xirlink products */
 product XIRLINK PCCAM  0x8080  IBM PC Camera
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: weird 5.1 crash

2003-07-19 Thread Kris Kennaway
On Sat, Jul 19, 2003 at 10:41:31PM +0200, Branko F. Gra?nar wrote:
> oday my 5.1-RELEASE (i386) died by panic.
> 
> panic message was:

See the chapter on kernel debugging in the developer's handbook for
information on how to obtain a debugging traceback, which is pretty
much required in order for someone to analyze kernel panis.

Kris


pgp0.pgp
Description: PGP signature


Re: Annoucning DragonFly BSD!

2003-07-19 Thread Jon Disnard
Matthew Dillon wrote:

A Packaging system is a very important piece of any distribution.  Our
goal will be to create a packaging system that, via VFS 'environments',
causes any particular package to see only the dependancies that it
depends on, and the proper version of said dependancies as well.  Multiple
versions of third party apps that normally conflict with each other could
be installed simultaniously.  The packaging-system-controlled VFS
environment would also hide everything a package does not depend on,
like other libraries in the system, in order to guarentee that the
dependancies listed in the packaging system are in fact what the
application depends on.  There's no point in having a packaging system
that can't detect broken and incorrect dependancies or we wind up with
the same mess that we have with ports.


Wouldn't it be possible to achive the same result without the VFS with 
well organized lib subdirs? like "usr/lib/xyzlib1.2/" and 
"usr/lib/xyzlib1.3/" which would maintain the install for any given 
version of a lib? In other words, instead of just dumping all the libs 
into the one place, you simply place them into sub folders instead and 
then link them as needed? Granted this would cause havoc for things like 
LD_LIBRARY_PATH. I never did like the way we dump things in the lib 
dir's, its messy. The VFS idea is interesting, but it like cleaning the 
mess by sending parts of the big mess into another dimention, making it 
a trans-dimentional mess (technically a larger mess). This throws away 
the KISS principle.


To make this work the VFS environment would have to be able to run as
a userland process.  Otherwise we would never be able to throw in the
type of flexibility and sophistication required to make it do what we
want it to do, and the kernel interfacing would have to be quite robust.
I want to make these environments so ubiquitous that they are simply
taken for granted.  Begin userland VFSs with the capability of
overlaying the entire filesystem space, these environments would be
extremely powerful.
I suspect this ability would usefull for other things too, possibly for 
security lock-downs on shell users env's without chrooting them as an 
example.

-Jon

It might be possible to build this new packaging system on top of the
existing ports infrastructure.  It will be several months (possibly
6-12 months) before the kernelland is sufficienctly progressed to be
able to imlpement the userland VFS concept so we have a lot of time to
think about how to do it.
	-Matt
	Matthew Dillon 
	<[EMAIL PROTECTED]>
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: 5.1 setfacl problem

2003-07-19 Thread Robert Watson

On Sat, 19 Jul 2003, [iso-8859-2] Branko F. Graènar wrote:

> Hi there! 
> 
> I'm running 5.1 on i386 platform and i have silly problem with acls. 
> 
> I have disks mounted with acl option (ofcourse they are formatted with
> ufs2)  and acls generally work okay. 
> 
> But when i try to set default directory acl entry i get 'Invalid
> argument' error. 
> 
> Here is example command usage: 
> 
> # setfacl -dm m::rwx,u:some_user:rwx test_directory
> setfacl: acl_set_file() failed for test_directory: Invalid argument
> 
> This is really annoying... 
> 
> Any ideas, how to solve this? 

POSIX.1eD17 23.1.3 requires that default ACLs have the same minimum
entries as an access ACL, meaning that all default ACLs must contain at
least object owner, object group, and other fields.  If you have extended
entries, you must also have a mask field.  If the test_directory above
doesn't already have an ACL on it to modify, the command you're using will
specify what POSIX.1e considers an incomplete ACL and rejects.  Try using:

  setfacl -dm u::rwx,g::rx,o::rx,u:some_user:rwx,m:rwx test_directory

and see if that works better for you.  If so, that was probably the
problem.  I haven't checked to see if other implementations have different
interpretations of POSIX.1e, or bend the rules in various ways, but they
might well do.  We could, in theory, weaken the rules, but the logic to
combine partial default ACLs, requested creation mode, and umask would be
complicated...

Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
[EMAIL PROTECTED]  Network Associates Laboratories


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: ufs2 snapshots in 5.1 still broken

2003-07-19 Thread Branko F. Gracnar
>I'm not use what you mean. The suspension of I/O during creation of a
>snapshot is the intended behaviour, but it doesn't take long. For example,

df -h 
/dev/x   813G   7.1G   741G 1%/export

df -i
/dev/853004856 7422014 777342454 1%  328978 1480728120%   /export

~330k files. Size mostly about ~20-30 kbytes.


If i run dump -L (which creates snapshot) it runs for ever (machine doesn't respond 
even after 30-40 minutes). If i unplug power cable and turn on my machine again, then 
this filesystem will be checked by fsck and if background_fack in rc.conf is "YES", 
fsck will create snapshot and machine will boot, but after 2-3 minutes (background 
fsck starts 60 seconds after system boot) machine stop responding.

If i issue simple ls command it just hangs. You cannot even ssh to machine, becouse 
event network system stops responding.

Disks were formatted on a clean 5.0-RELEASE using sysinstall (using -O2 newfs option) 
during system installation and system was upgraded with cvsup/make build/installworld 
to 5.1-RELEASE

Maybe this is an issue and i should reformat my disks and everything will be fine 
again?

I have this problem on two machines. The third one with about 200k files boots okay, 
but this one was installed cleanly with 5.1-RELEASE.

Brane


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Negative bio_offset -current kernel panic

2003-07-19 Thread Aaron Wohl
I got a got this kernel panic:
geom/geom_dev.c:("Negative bio_offset (%jd) on bio %p",

Anyone seeing this also?

This is on a 2 processor XEON intel motherboard / adaptec 5400S raid /
AMD g2 console card.

The AMI g2 console card provides via USB a keyboard virtual cdrom etc. 
Most of which freebsd isnt very happy with. But im not trying to use the
virtual cdrom at all.  They keyboard had not been used since last boot
either.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: ufs2 snapshots in 5.1 still broken

2003-07-19 Thread Lukas Ertl
On Sat, 19 Jul 2003, [iso-8859-2] Branko F. Gra?nar wrote:

> This only accours if there is alot (several 100 thousand) of small files
> on a filesystem.
>
> During snapshot creation all userland I/O hangs until snapshot is made.
> Machine doesn't respond even on ping!. After snapshot is created,
> everything works okay. If you want to remove that snapshot file the same
> scenario is repeated. Ideas, suggestions?

I'm not use what you mean. The suspension of I/O during creation of a
snapshot is the intended behaviour, but it doesn't take long. For example,
/usr here has about 185000 files:

# time mksnap_ffs /usr /usr/snapshot

real0m3.059s
user0m0.001s
sys 0m0.143s

regards,
le

-- 
Lukas Ertl eMail: [EMAIL PROTECTED]
UNIX-Systemadministrator   Tel.:  (+43 1) 4277-14073
Zentraler Informatikdienst (ZID)   Fax.:  (+43 1) 4277-9140
der Universität Wien   http://mailbox.univie.ac.at/~le/
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: SMP problem with uma_zalloc

2003-07-19 Thread Bosko Milekic

On Sat, Jul 19, 2003 at 08:31:26PM +0200, Lara & Harti Brandt wrote:
[...]
> Well the problem is, that nothing is starved. I have an idle machine and
> a zone that I have limited to 60 or so items. When allocating the 2nd
> item I get block on the zone limit. Usually I get unblocked whenever I
> free an item. This will however not happen, because I have neither
> reached the limit nor is there memory pressure in the system to which I
> could react. I simply may be blocked forever.

  UMA_ZFLAG_FULL is set on the zone prior to the msleep().  This means
  that the next free will result in your wakeup, as the next free will
  be sent to the zone internally, and not the pcpu cache.

> That makes the limit feature for zones rather useless, because I cannot 
> predict how many of the items I can really allocate (this depends on the 
> number of processors, the page size and the configuration of UMA itself).
> 
> Perhaps we could make the behaviour dependent on the maximum number of 
> items. When it is rather low (a couple of pages worth) and I would block 
> on the zone limit and I have free items in another CPU's cache then 
> drain one of the caches.
> 
> Or I could simply remove the limits.
> 
> 
> harti
> 
> 
> 

-- 
Bosko Milekic  *  [EMAIL PROTECTED]  *  [EMAIL PROTECTED]
TECHNOkRATIS Consulting Services  *  http://www.technokratis.com/
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


ufs2 snapshots in 5.1 still broken

2003-07-19 Thread Branko F . Gračnar
Hi.

I upgraded my home server to 5.1-release today with hope, that ufs2 filesystem 
snapshot issues will be fixed and working

... but they are not. this is a serious issue, becouse background fsck is on by 
default, which reflects in creating filesystem snapshot on mounting not cleanly 
umounted device.

set background_fsck to "NO" in your rc.conf.

i've sent problem report in the early days of 5.0-Release, but nothing changed.

This only accours if there is alot (several 100 thousand) of small files on a 
filesystem.

During snapshot creation all userland I/O hangs until snapshot is made. Machine 
doesn't respond even on ping!. After snapshot is created, everything works okay. If 
you want to remove that snapshot file the same scenario is repeated.
Ideas, suggestions?

Brane

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


weird 5.1 crash

2003-07-19 Thread Branko F . Gračnar
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

oday my 5.1-RELEASE (i386) died by panic.

panic message was:

Syncing disks, buffers remaining...
Fatal trap 12: page fault while in kernel mode
fault code: supervisor read, page not present
instruction pointer: 0xc01b5737
panic: spin lock sched lock held by 0xc151e850 for > 5 sec
panic: spin lock sched lock held by 0xc151e850 for > 5 sec
panic: spin lock sched lock held by 0xc151e850 for > 5 sec
panic: spin lock sched lock held by 0xc151e850 for > 5 sec
panic: spin lock sched lock held by 0xc151e850 for > 5 sec

Machine was up for 40 days without cousing trouble.

Hardware:

- - 2 pentium3 1266 mhz
- - 512 MB ram
- - promise sx6000 disk controller with raid5 array
- - 6 ibm ide disks

I'm using ULE scheduler.

Any ideas?

my kernel config file:

- -- snip --
machine i386
ident   MYMACHINE

cpu I686_CPU
device  ata
device  atadisk
device  atapicd
device  atkbd
device  atkbdc
device  bpf
device  ether
device  fdc
device  fxp
device  isa
device  loop
device  md
device  miibus
device  npx
device  pci
device  psm
device  pst
device  pty
device  random
device  sc
device  sio
device  splash
device  tun
device  vga
options COMPAT_LINUX
options DIRECTIO
options INCLUDE_CONFIG_FILE
options ROOTDEVNAME=\"ufs:pst0s1a\"
options SC_DISABLE_REBOOT
options APIC_IO
options ATA_STATIC_ID
options CD9660
options COMPAT_43
options COMPAT_FREEBSD4
options FFS
options INET
options KTRACE
options NFSCLIENT
options NFSSERVER
options SCHED_ULE
options SMP
options SOFTUPDATES
options SYSVMSG
options SYSVSEM
options SYSVSHM
options UFS_ACL
options UFS_DIRHASH
options _KPOSIX_PRIORITY_SCHEDULING

- -- snip --
-BEGIN PGP SIGNATURE-

iD8DBQE/GBizfiC/E+t8hPcRAi04AKCRz9akBdLHhOZiVa2nTY4oPv80jwCfR+r9
BpK7WKpF9PMfZUT6qWu8HD0=
=kuvD
-END PGP SIGNATURE-


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


5.1 setfacl problem

2003-07-19 Thread Branko F . Gračnar
Hi there!

I'm running 5.1 on i386 platform and i have silly problem with acls.


I have disks mounted with acl option (ofcourse they are formatted with ufs2)
and acls generally work okay.

But when i try to set default directory acl entry i get 'Invalid argument'
error.

Here is example command usage:

# setfacl -dm m::rwx,u:some_user:rwx test_directory
setfacl: acl_set_file() failed for test_directory: Invalid argument

This is really annoying...

Any ideas, how to solve this?

Brane



___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Fixing gcc 3.3 compile failures -- kde ports proposal

2003-07-19 Thread Peter Kadau
Hi !

Luckily the KDE ports are very uniform.
Applying the obvious, trivial patch to configure always works on
current.
(Of course only since the patch utility is clever enough to
 try the hunk at different offsets...):
--- configure.orig  Sat Jul 19 16:54:39 2003
+++ configure   Sat Jul 19 16:55:37 2003
@@ -4236,7 +4236,7 @@
 CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE
-Wcast-align -Wconversion $CXXFLAGS"
   ;;
 esac
-CXXFLAGS="-Wall -pedantic -W -Wpointer-arith
-Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
+CXXFLAGS="-Wall -pedantic -fpermissive -W -Wpointer-arith
-Wmissing-prototypes -Wwrite-strings $CXXFLAGS"  
 echo "$as_me:$LINENO: checking whether $CXX supports -Wundef" >&5
 echo $ECHO_N "checking whether $CXX supports -Wundef... $ECHO_C" >&6

(Beware of newlines when doing cut-and-paste).

But that would break things on non-current.

So how about setting a variable in /etc/make.conf ?
I think for the time being this is not too much for
a current-user...
MY_CXX_BAILS_OUT_ON_KDE_CONFIGURE=yo
(It needn't be so long though ;-)

Then put that patch in the files directory as - e.g. -
`current-patch-configure'.

And change the ports Makefile along the lines of
the following patch for koffice:
--- Makefile.orig   Sat Jul 19 21:48:15 2003
+++ MakefileSat Jul 19 21:49:34 2003
@@ -38,4 +38,9 @@
  
 .include "${.CURDIR}/../../x11/kde3/Makefile.kde"
  
+.ifdef MY_CXX_BAILS_OUT_ON_KDE_CONFIGURE
+pre-configure:
+   cd ${WRKSRC} && patch < ${FILESDIR}/current-patch-configure
+.endif
+
 .include 

With those settings, I could do a forced upgrade for everything.

I know this can't be the clean, now-we-all-are-happy-solution.
But as I already mentioned - for the time being...

Cheers
Peter




___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Fixing gcc 3.3 compile failures -- fix for math/freefem

2003-07-19 Thread Jacques A. Vidrine
On Sat, Jul 19, 2003 at 05:05:39AM +0200, Simon Barner wrote:
> --- freefem/fem/femDisk.cpp.orig  Sat Jul 19 04:09:32 2003
> +++ freefem/fem/femDisk.cpp   Sat Jul 19 04:13:43 2003
> @@ -95,7 +95,7 @@
>  char *result = 0;
>  int dummy;
>  
> -ifstream fin( path );
> +std::ifstream fin( path );
>  
>  if ( fin.fail() )
>{
[... 405 lines deleted ...]

A much smaller patch could be produced with

  using namespace std;

as appropriate.

Have you checked with the upstream author to see which approach is
likely to be rolled into the distribution?

Cheers,
-- 
Jacques Vidrine   . NTT/Verio SME  . FreeBSD UNIX   . Heimdal
[EMAIL PROTECTED] . [EMAIL PROTECTED] . [EMAIL PROTECTED] . [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Annoucning DragonFly BSD!

2003-07-19 Thread Matthew Dillon
:Matthew, 
:OK, you want a divergent kernel, EG src/sys/ ,  fair enough.
:
:  - Are there any benefits to the BSD community in having
:a 4th BSD bin/ sbin/ usr.bin/ usr.sbin/ ?
:Can you not share & co-operate with toolset maintainers of NetBSD
:or OpenBSD, even if you can't work with some FreeBSD CVS people ?  

I don't think these particular subhiearchies are that big a deal.
Except for libc and libc_r, most of the above will wind up being
almost identical to their 4.x counterparts.  You know the old saying...
if it aint broke...

One big part of the goal set will be the creation of a middle 'emulation'
layer which is managed by the kernel but runs in userland, which will
take over all primary system call entry points (in userland) and convert
them to syscall messages that the kernel understands.  4.x, 5.x, SysV,
Linux, and other compatibility sets will be moved out of the kernel and
into this middle layer.  Even the 'native' syscall set will run through
an emulation layer (though being aware of it the native sets will call
the emulation layer directly rather then bounce through the kernel).

The advantage of this methodology is that we will be able to keep the
kernel clean.  For example, we would be able to modify how certain syscall
messages work and simply by fixing the backend of the appropriate 
emulation layers we can maintain binary compatibility with any past
userland.  The emulation layer would be fully versioned so older 
userland programs use emulation layers targeted to older APIs, and newer
userland programs use emulation layers targeted to newer APIs.

So there would no longer be five different versions of stat() in the
kernel, for example.  There might be five different versions of the
'4.x emulation layer', but there would be only *ONE* stat in the kernel.

:  - Do you intend your own ports/ collection too ? (or  Free, Net or Open ?) 
:
:-
:Julian Stacey   Freelance Systems Engineer, Unix & Net Consultant, Munich.

A Packaging system is a very important piece of any distribution.  Our
goal will be to create a packaging system that, via VFS 'environments',
causes any particular package to see only the dependancies that it
depends on, and the proper version of said dependancies as well.  Multiple
versions of third party apps that normally conflict with each other could
be installed simultaniously.  The packaging-system-controlled VFS
environment would also hide everything a package does not depend on,
like other libraries in the system, in order to guarentee that the
dependancies listed in the packaging system are in fact what the
application depends on.  There's no point in having a packaging system
that can't detect broken and incorrect dependancies or we wind up with
the same mess that we have with ports.

To make this work the VFS environment would have to be able to run as
a userland process.  Otherwise we would never be able to throw in the
type of flexibility and sophistication required to make it do what we
want it to do, and the kernel interfacing would have to be quite robust.
I want to make these environments so ubiquitous that they are simply
taken for granted.  Begin userland VFSs with the capability of
overlaying the entire filesystem space, these environments would be
extremely powerful.

It might be possible to build this new packaging system on top of the
existing ports infrastructure.  It will be several months (possibly
6-12 months) before the kernelland is sufficienctly progressed to be
able to imlpement the userland VFS concept so we have a lot of time to
think about how to do it.

-Matt
Matthew Dillon 
<[EMAIL PROTECTED]>
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: SMP problem with uma_zalloc

2003-07-19 Thread Lara & Harti Brandt


Bosko Milekic wrote:

On Fri, Jul 18, 2003 at 07:05:58PM +0200, Harti Brandt wrote:

Hi all,

it seems there is a problem with the zone allocator in SMP systems.

I have a zone, that has an upper limit on items that resolves to an
upper limit of pages of 1. It turns out, that allocations from this
zone get stuck from time to time. It seems to me, that the following
happens:
- on the first call to uma_zalloc a page is allocated and all the free
items are put into the cache of the CPU. uz_free of the zone is 0 and
uz_cachefree holds all the free items.
- when the next call to uma_zalloc occurs on the same CPU, everything is
fine. uma_zalloc just gets the next item from the cache.
- when the call happens on another CPU, the code finds uz_free to be 0 and
checks the page limit (uma_core.c:1492). It finds the limit already
reached and puts the process to sleep (uma_zalloc was called with
M_WAITOK).
- the process may sleep there forever (depending on circumstances).

If M_WAITOK is not set, the code will falsely return NULL while there
are still free items (albeight in the cache of another CPU).
I wonder whether this is intended behaviour. If yes, this should be
definitely documented. uma_zone_set_max() seems to be documented only in
the header file and it does not mention, that free items may not actually
be allocatable because they happen to sit in another CPU's cache.
If it is not intended (I would prefer this), I wonder how one can get the
items out of another's CPU cache. I'm not too familiar with this code.
I suppose this should be done somewhere around uma_core.c:1485?
Regards,
harti
--
harti brandt,
http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private
[EMAIL PROTECTED], [EMAIL PROTECTED]
  If the per-cpu caches are relatively small (which they ought to be,
  especially when you've hit a maximum number of allocations from the
  zone), then this is actually not that bad of a behavior.
  I spoke to Jeff about this and it seemed to me that he was leaning
  toward keeping the behavior this way and, in fact, also perhaps _not_
  even doing an internal free to the zone when UMA_ZFLAG_FULL is in
  effect but we still have space in the pcpu cache.  While I'm not sure
  if going that far is a good idea, I _don't_ really think that the
  current behavior is a bad idea.  As mentionned, when you have a zone
  that is mostly starved, all future frees will go back to the zone and
  not the per-cpu caches, but if you have some free items in another
  per-cpu cache, you're not likely to hit a starvation situation unless
  something is horribly wrong.  And having the free code actually drain
  the per-cpu caches in a zone-full situation may lead to bad behavior
  under heavy load.  Think about what happens under heavy load... your
  zone is starved and if you then flush all the pcpu caches and the load
  is still heavy, you're likely to have other threads try to allocate
  anyway, so they'll end up having to dip into the zone anyway;
  therefore, there doesn't seem to be much of a reason to push the
  cached objects back into the zone (if they're going to leave it again
  soon anyway).

Well the problem is, that nothing is starved. I have an idle machine and
a zone that I have limited to 60 or so items. When allocating the 2nd
item I get block on the zone limit. Usually I get unblocked whenever I
free an item. This will however not happen, because I have neither
reached the limit nor is there memory pressure in the system to which I
could react. I simply may be blocked forever.
That makes the limit feature for zones rather useless, because I cannot 
predict how many of the items I can really allocate (this depends on the 
number of processors, the page size and the configuration of UMA itself).

Perhaps we could make the behaviour dependent on the maximum number of 
items. When it is rather low (a couple of pages worth) and I would block 
on the zone limit and I have free items in another CPU's cache then 
drain one of the caches.

Or I could simply remove the limits.

harti



___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: panic: improper umtx access

2003-07-19 Thread Mike Makonnen
On Sat, Jul 19, 2003 at 08:12:42PM +1000, Peter Kostouros wrote:
> Hi
> 
> I received a panic: improper umtx access from a system cvsup'ed about 8 
> hours ago. It occurred when executing mcs (mono C# compiler). Note 
> /etc/libmap.conf had libc_r.so* pointing to libthr.so* for mono/mcs. I 
> am also running the SCHED_ULE scheduler.

My fault. It's fixed now.
$FreeBSD: src/sys/kern/kern_umtx.c,v 1.11 2003/07/19 11:32:48 mtm Exp $

Cheers.
-- 
Mike Makonnen  | GPG-KEY: http://www.identd.net/~mtm/mtm.asc
[EMAIL PROTECTED] | D228 1A6F C64E 120A A1C9  A3AA DAE1 E2AF DBCC 68B9
[EMAIL PROTECTED]| FreeBSD - Unleash the Daemon!
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


panic: improper umtx access

2003-07-19 Thread Peter Kostouros
Hi

I received a panic: improper umtx access from a system cvsup'ed about 8 
hours ago. It occurred when executing mcs (mono C# compiler). Note 
/etc/libmap.conf had libc_r.so* pointing to libthr.so* for mono/mcs. I 
am also running the SCHED_ULE scheduler.

I hope the attached backtrace is useful.

--

Regards

Peter

As always the organisation disavows knowledge of this email

Script started on Sat Jul 19 19:53:59 2003
eva# gdb -k -f kernel.debun g -f /var/crash/vmcore.18

GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic: improper umtx access
panic messages:
---
panic: improper umtx access

syncing disks, buffers remaining... 4819 4819 4817 4816 4816 4816 4815 4815 4815 4815 
4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 4815 
giving up on 2893 buffers
Uptime: 27m10s
acd0: timeout waiting for cmd=e7 s=01 e=04
acd0: flushing device failed
Dumping 1023 MB
ata0: resetting devices ..
done
 16 32[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C 
to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] 
[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to 
abort] [CTRL-C to abort]  48[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] 
[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to 
abort] [CTRL-C to abort] [CTRL-C to abort]  64[CTRL-C to abort] [CTRL-C to abort] 
[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to 
abort] [CTRL-C to abort]  80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 
320 336 352 368 384 400 416 432 448 464 480 496 512 528 544 560 576 592 608 624 640 
656 672 688 704 720 736 752 768 784 800 816 832 848 864 880 896 912 928 944 960 976 
992 1008
---
Reading symbols from 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linux/linux.ko.debug...done.
Loaded symbols for 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linux/linux.ko.debug
Reading symbols from 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/acpi/acpi.ko.debug...done.
Loaded symbols for 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/acpi/acpi.ko.debug
Reading symbols from 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linprocfs/linprocfs.ko.debug...done.
Loaded symbols for 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linprocfs/linprocfs.ko.debug
#0  doadump () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:240
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:240:6807:beg:0xc023a65b
(kgdb) bt
#0  doadump () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:240
#1  0xc023ac91 in boot (howto=256) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:372
#2  0xc023b027 in panic () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:550
#3  0xc024bcd1 in _umtx_unlock (td=0xc32ae390, uap=0x0)
at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_umtx.c:306
#4  0xc03911e3 in syscall (frame=
  {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 135333020, tf_esi = 135332992, 
tf_ebp = -1081159924, tf_isp = -530489996, tf_ebx = 674411260, tf_edx = 0, tf_ecx = 
134524928, tf_eax = 435, tf_trapno = 12, tf_err = 2, tf_eip = 674719375, tf_cs = 31, 
tf_eflags = 2097734, tf_esp = -1081159968, tf_ss = 47}) at 
/mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c:1023
#5  0xc038157d in Xint0x80_syscall () at {standard input}:144
---Can't read userspace from dump, or kernel process---

(kgdb) up 3
#3  0xc024bcd1 in _umtx_unlock (td=0xc32ae390, uap=0x0)
at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_umtx.c:306
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_umtx.c:306:7814:beg:0xc024bcd1
(kgdb) l
301 }
302 } else {
303 UMTX_UNLOCK();
304 old = casuptr((intptr_t *)&umtx->u_owner,
305 owner, UMTX_CONTESTED);
306 KASSERT(old != -1 && old != owner, ("improper umtx access"));
307 }
308 
309 if (old == -1)
310 return (EFAULT);
(kgdb) p old
$1 = -1020599407
(kgdb) p owner
$2 = -1020599407
(kgdb) p td
$3 = (struct thread *) 0xc32ae390
(kgdb) p uq
$4 = (struct umtx_q *) 0x0
(kgdb) l q
eva# exit

exit

Script done on Sat Jul 19 19:57:24 2003
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: gcc-3.3 issues

2003-07-19 Thread Peter Kadau
Hi !

> http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Warning-Options.html#Warning%20Options

Hmm, that's exactly as in the info page.

> http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/C---Dialect-Options.html#C++%20Dialect%20Options

> and search for permissive, to see the condition Alexander speaks of.

Well, here it is:
-fpermissive
Downgrade messages about nonconformant code from errors to
warnings. By default, G++ effectively sets -pedantic-errors
without -pedantic; this option reverses that. This behavior and
this option are superseded by -pedantic, which works as it does
for GNU C. 

I admit, I'm not a native speaker, so please correct me.
Doesn't that mean, if you don't specify any pedantic, it defaults
to -pedantic-errors for C++, but if you specify -pedantic, you don't
get errors for warnings like it should be... ??

Cheers
Peter


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: cyclades isa card not recognized on 5-current ?

2003-07-19 Thread Bjoern A. Zeeb
On Sat, 19 Jul 2003, Bruce Evans wrote:

Hi,

> > firmware_version always is 0xff.
>
> This usually means that the maddr is wrong or that the hardware is not
> there for some other reason.  A normal hex dump of cyclades isa memory
> looks something like this
> (output from "dd if=/dev/mem bs=1 iseek=0xd4000 count=0x2000 | hd"):

thanks. useful hint. going to see what I can do with this information.


> Values at even offsets are always repeated at the next (odd) offset.
>
> CD1400_GFRCR is at offset 0x80 (contents 0x46 in the above).
>
> > If I give another maddr in hints file than dip switches are set to
> > kernel aborts somwhere in sioprobe(dev) and will reboot so I assume
> > maddr really is set correct (also verified with cyclades manual
> > y_30.pdf again).
>
> The abort is a bit unusual since the cyclades probe is not very invasive.

yeah. aehm and if we are with it. Is it really correct  that 0xc
and 0xd4000 have the same dip settings ? This is the case according to
ftp://ftp.cyclades.de/pub/cyclades/cyclom-y/doc/y_30.pdf (english)
Though I also tried other addresses as said I hink this might be an
error in the table ?


> > There is a "Rev 5" oder 5.0 on the card.
>
> I think mine is much older (model 8Yb).

Everything interesting I can find on the card:

CYCLOM-8Yo Rev 5.00
(c) 1995 Cyclades Corporation

25 Mhz FOX
2x CL-CD1400-10PC-G, 48360-208BC, 9535-B
CY7C371, -66JC  9537, CYP 119265,+, U178Y100(*)

and on the back:
MTI-Y, 94V-0, 0196
and a barcode with CYC0013184


> Did you say that it worked under old versions of FreeBSD?

no, I got the card from someone who no longer had a use for it.
Don't know which OS he had been running.

I only have one 4-STABLE maschine which is up 24-7-365 and another 5.0
notebook. So not much chance to test it in another machine with an
older FreeBSD version.


OK some more investigation done:

a) silly me also tried addresses that where in the middle of
orm0:  at iomem 0xc8000-0xcbfff,0xc-0xc7fff on isa0
these where the panics on startup. Cannot reproduce them with addresses
outside of this range. Must have missed this the first time I checked
free resources :(

b) set maddr and dips to 0xd8000 and now getting (see marked areas):

e0-0# dd if=/dev/mem bs=1 iseek=0xd8000 count=0x2000 | hd
  00 00 00 00 00 00 00 00  00 00 81 81 00 00 00 00  ||
0010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
0080  00 00 00 00 61 61 61 61  61 61 00 00 41 41 41 41  |aa..|
0090  40 40 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |@@..|
00a0  61 61 00 00 61 61 61 61  61 61 81 81 41 41 40 40  |aa..aa..AA@@|
00b0  40 40 00 00 40 40 00 00  00 00 00 00 00 00 40 40  |@@..@@@@|
00c0  40 40 40 40 00 00 00 00  ff ff ff ff ff ff 00 00  ||
00d0  c0 c0 08 08 10 10 18 18  a8 a8 a8 a8 a0 a0 a8 a8  ||
00e0  54 54 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |TT..|
00f0  00 00 00 00 08 08 08 08  08 08 08 08 00 00 00 00  ||
0100  00 00 00 00 00 00 00 00  00 00 81 81 00 00 00 00  ||
0110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
0180  00 00 00 00 61 61 61 61  61 61 00 00 41 41 41 41  |aa..|
0190  40 40 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |@@..|
01a0  61 61 00 00 61 61 61 61  61 61 81 81 41 41 40 40  |aa..aa..AA@@|
01b0  40 40 00 00 40 40 00 00  00 00 00 00 00 00 40 40  |@@..@@@@|
01c0  40 40 40 40 00 00 00 00  ff ff ff ff ff ff 00 00  ||
01d0  c0 c0 08 08 10 10 18 18  a8 a8 a8 a8 a0 a0 a8 a8  ||
01e0  54 54 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |TT..|
01f0  00 00 00 00 08 08 08 08  08 08 08 08 00 00 00 00  ||
0200  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
::-->
0400  00 00 00 00 00 00 00 00  22 22 00 00 00 00 00 00  |""..|
0410  00 00 00 00 00 00 00 00  00 00 26 26 00 00 00 00  |..&&|
0420  00 00 34 34 00 00 00 00  00 00 00 00 00 00 a0 a0  |..44|
0430  00 00 26 26 00 00 00 00  00 00 00 00 00 00 00 00  |..&&|
0440  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
0480  46 46 00 00 00 00 00 00  00 00 00 00 00 00 47 47  |FFGG|
::<--

0490  00 00 00 00 00 00 00 00  00 00 00 00 83 83 00 00  ||
04a0  34 34 22 22 00 00 00 00  00 00 00 00 00 00 00 00  |44""|
04b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
04c0  26 00 00 26 00 26 46 00  0e 0e 42 42 00 00 00 00  |&..&.&F...BB|
04d0  c0 c0 0b 0b 10 10 18 18  a8 a0 a0 a0 a0 a0 a8 a8  ||
04e0  54 54 00 00 41 41 06 3e  04 84 08 08 01 01 89 81  |TT..AA.>|
04f0  41 41 41 41 00 00 38 18  01 19 02 22 ff ff bd bc  |..8"|

::-->
05