Re: world broken at libkvm

2003-01-13 Thread Giorgos Keramidas
On 2003-01-12 20:14, [EMAIL PROTECTED] (Joe Laughlin) wrote:
 walt wrote:
 cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c
 /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
 /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
 /usr/src/lib/libkvm/kvm_proc.c:376: structure has no member named
 `ke_pctcpu'

 Myself and two others have seen this as well.

I'm building world trying to track the commit that broke things now.
It looks like the following commit could be the one that broke things:

src/sys/kern/sched_4bsd.c,v
revision 1.8
date: 2003/01/12 19:04:49;  author: jeff;  state: Exp;  lines: +30 -15
 - Move ke_pctcpu and ke_cpticks into the scheduler specific datastructure.
   This will prevent access through mechanisms other than the published
   interfaces.


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



Re: world broken at libkvm

2003-01-13 Thread Sheldon Hearn

Make sure you have rev 1.289 of sys/sys/proc.h, which is expected to fix
the problem you're reporting.

Ciao,
Sheldon.

- Original Message -

Date:  Sun, 12 Jan 2003 18:14:51 -0800
From:  walt [EMAIL PROTECTED]
To:  [EMAIL PROTECTED]
Subject:  world broken at libkvm


 cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
 /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
 /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
 /usr/src/lib/libkvm/kvm_proc.c:376: structure has no member named `ke_pctcpu'
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-current in the body of the message


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



world broken at libkvm

2003-01-12 Thread walt
cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
/usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
/usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
/usr/src/lib/libkvm/kvm_proc.c:376: structure has no member named `ke_pctcpu'


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


Re: world broken at libkvm

2003-01-12 Thread Joe Laughlin


walt wrote:

cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
/usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
/usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
/usr/src/lib/libkvm/kvm_proc.c:376: structure has no member named 
`ke_pctcpu'


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



Myself and two others have seen this as well.

Joe


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



Re: World broken at libkvm

2002-10-01 Thread Don Lewis

On 30 Sep, Juli Mallett wrote:
 * De: Don Lewis [EMAIL PROTECTED] [ Data: 2002-09-30 ]

 I suggest looking especially closely at the sigio stuff.  Even the old
 code has a lock order reversal problem when I/O to a pipe wants to
 signal the process at the other end of the pipe.  I thought a lot about
 that problem and never found a clean fix.
 
 The sigio stuff could be even nastier if you need to allocate memory in
 the signal code because the sigio can be invoked by the reception of a
 packet from the network, which is not handled in a process context ...
 
 No locks except for the lock of the process being signalled should be
 held when sending signals, IMHO, though I am mostly ignorant of the SIGIO
 locking.

As I recall, the sigio code needs to hold a lock to prevent the sigio
structure from being ripped out from underneath it while it is sending a
signal to the target process or process group by any of:

An explicit fcntl(fd, F_SETOWN, ...) by the recpient process or a
member of its process group, or some other process that shares the
associated descriptor.

An implicit fcntl(fd, F_SETOWN, 0) caused by the descriptor being
closed.

The target process exiting.

The target process group disappearing because its last member is
exiting.

The pipe I/O code can call pgsigio() in various places while holding the
pipe lock.  It looks to me like dropping the pipe lock could introduce
some race condition problems in the SMP case.  In particular if we
dropped the lock to send the signal before calling msleep() to wait for
the process at the other end of the pipe to do some I/O, the I/O could
happen after we dropped the lock but before we went to sleep and we'd
never get woken up.




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



World broken at libkvm

2002-09-30 Thread walt

cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
/usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
/usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
/usr/src/lib/libkvm/kvm_proc.c:201: structure has no member named `p_siglist'


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



Re: World broken at libkvm

2002-09-30 Thread M. Warner Losh

In message: [EMAIL PROTECTED]
walt [EMAIL PROTECTED] writes:
: cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
: /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
: /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
: /usr/src/lib/libkvm/kvm_proc.c:201: structure has no member named `p_siglist'

This has been fixed.  But there's other breakages in the kernel that
are being worked on.

Warner

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



Re: World broken at libkvm

2002-09-30 Thread Juli Mallett

* De: M. Warner Losh [EMAIL PROTECTED] [ Data: 2002-09-30 ]
[ Subjecte: Re: World broken at libkvm ]
 In message: [EMAIL PROTECTED]
 walt [EMAIL PROTECTED] writes:
 : cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
 : /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
 : /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
 : /usr/src/lib/libkvm/kvm_proc.c:201: structure has no member named `p_siglist'
 
 This has been fixed.  But there's other breakages in the kernel that
 are being worked on.

And now fixed.  All we have to look out for now is someone doing something
that exposes some sort of functional difference, but I don't anticipate it.

Thanks for the patience.

juli.
-- 
Juli Mallett [EMAIL PROTECTED]   | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger [EMAIL PROTECTED]
http://people.FreeBSD.org/~jmallett/  | Support my FreeBSD hacking!

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



Re: World broken at libkvm

2002-09-30 Thread Peter Wemm

Juli Mallett wrote:
 * De: M. Warner Losh [EMAIL PROTECTED] [ Data: 2002-09-30 ]
   [ Subjecte: Re: World broken at libkvm ]
  In message: [EMAIL PROTECTED]
  walt [EMAIL PROTECTED] writes:
  : cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
  : /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
  : /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
  : /usr/src/lib/libkvm/kvm_proc.c:201: structure has no member named `p_sigl
ist'
  
  This has been fixed.  But there's other breakages in the kernel that
  are being worked on.
 
 And now fixed.  All we have to look out for now is someone doing something
 that exposes some sort of functional difference, but I don't anticipate it.

Have you dealt with the 'could sleep' stuff with witness turned on? These
are *guaranteed* panics if the system is low on memory at that given
instant.  (Witness doesn't cause the problems, it reports fundamental
problems that are already there.  The system will panic regardless of
whether witness is there or not.)

I suggest you turn WITNESS on, and stress the system.  If you get *new*
'could sleep' stuff or other lock order problems, then there are still
significant regressions to be fixed.  The last thing we need during the
'please stabilize 5.0' drive is newly added problems.  If other folks are
seeing new ones, please report them here (not to me, I already get too much
email :-]).

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
All of this is for nothing if we don't go to the stars - JMS/B5


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



Re: World broken at libkvm

2002-09-30 Thread walt

Juli Mallett wrote:
 * De: M. Warner Losh [EMAIL PROTECTED] [ Data: 2002-09-30 ]
   [ Subjecte: Re: World broken at libkvm ]


This has been fixed.  But there's other breakages in the kernel that
are being worked on.


 And now fixed.  All we have to look out for now is someone doing something
 that exposes some sort of functional difference, but I don't anticipate it.

World and kernel now compile fine for me.  No crashes yet (5 min uptime :-)

-- 
Does this mean you've found full-time employment?  ;-)


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



Re: World broken at libkvm

2002-09-30 Thread Juli Mallett

* De: Peter Wemm [EMAIL PROTECTED] [ Data: 2002-09-30 ]
[ Subjecte: Re: World broken at libkvm ]
 Juli Mallett wrote:
  * De: M. Warner Losh [EMAIL PROTECTED] [ Data: 2002-09-30 ]
  [ Subjecte: Re: World broken at libkvm ]
   In message: [EMAIL PROTECTED]
   walt [EMAIL PROTECTED] writes:
   : cc -O -pipe -mcpu=pentiumpro -DLIBC_SCCS -I/usr/src/lib/libkvm  -c 
   : /usr/src/lib/libkvm/kvm_proc.c -o kvm_proc.o
   : /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
   : /usr/src/lib/libkvm/kvm_proc.c:201: structure has no member named `p_sigl
 ist'
   
   This has been fixed.  But there's other breakages in the kernel that
   are being worked on.
  
  And now fixed.  All we have to look out for now is someone doing something
  that exposes some sort of functional difference, but I don't anticipate it.
 
 Have you dealt with the 'could sleep' stuff with witness turned on? These
 are *guaranteed* panics if the system is low on memory at that given
 instant.  (Witness doesn't cause the problems, it reports fundamental
 problems that are already there.  The system will panic regardless of
 whether witness is there or not.)
 
 I suggest you turn WITNESS on, and stress the system.  If you get *new*
 'could sleep' stuff or other lock order problems, then there are still
 significant regressions to be fixed.  The last thing we need during the
 'please stabilize 5.0' drive is newly added problems.  If other folks are
 seeing new ones, please report them here (not to me, I already get too much
 email :-]).

It looks like I'll probably be forced to look at backing this out tomorrow,
if only for the lock issues.  The problem is that sending signals is done
with lots of locks held at the time.  I'm going to try to clean that up
independent of this, once it's sorted, I'll give -arch a holler about this,
but for now it should be safe for anyone who wants to to run these patches
locally, if they get anything out of it other than a perverse kick.

juli.
-- 
Juli Mallett [EMAIL PROTECTED]   | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger [EMAIL PROTECTED]
http://people.FreeBSD.org/~jmallett/  | Support my FreeBSD hacking!

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



Re: World broken at libkvm

2002-09-30 Thread Juli Mallett

* De: Don Lewis [EMAIL PROTECTED] [ Data: 2002-09-30 ]
[ Subjecte: Re: World broken at libkvm ]
 On 30 Sep, Peter Wemm wrote:
  Juli Mallett wrote:
 
  And now fixed.  All we have to look out for now is someone doing something
  that exposes some sort of functional difference, but I don't anticipate it.
 
  I suggest you turn WITNESS on, and stress the system.  If you get *new*
  'could sleep' stuff or other lock order problems, then there are still
  significant regressions to be fixed.  The last thing we need during the
  'please stabilize 5.0' drive is newly added problems.  If other folks are
  seeing new ones, please report them here (not to me, I already get too much
  email :-]).
 
 I suggest looking especially closely at the sigio stuff.  Even the old
 code has a lock order reversal problem when I/O to a pipe wants to
 signal the process at the other end of the pipe.  I thought a lot about
 that problem and never found a clean fix.
 
 The sigio stuff could be even nastier if you need to allocate memory in
 the signal code because the sigio can be invoked by the reception of a
 packet from the network, which is not handled in a process context ...

No locks except for the lock of the process being signalled should be
held when sending signals, IMHO, though I am mostly ignorant of the SIGIO
locking.
-- 
Juli Mallett [EMAIL PROTECTED]   | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger [EMAIL PROTECTED]
http://people.FreeBSD.org/~jmallett/  | Support my FreeBSD hacking!

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