Subject: Re: Bugs being fixed.
To: Tim Shoppa <shoppa@alph01.triumf.ca>
From: Johnny Billquist <bqt@Update.UU.SE>
List: port-vax
Date: 06/17/1997 01:31:05
On Mon, 16 Jun 1997, Tim Shoppa wrote:

> > I'd recommend *everyone* to upgrade to 1.2G as soon as possible.
> > 
> > The bug with regards to swapping has been fixed, and there as been a
> > number of other small fixes in the last couple of weeks, which I think
> > people will appreciate.
> > 
> > The swap bug is a pretty serious thing. I'm really amazed that it has
> > worked at all for people...
> 
> I, for one, would appreciate a detailed description of which files
> had to be modified and (possibly) why.  I just looked in
> /src/sys/arch/vax/vax and see some files changed in the past few
> days, but my inability to access the previous version makes it hard
> for me to track the detailed technical changes.

Okay. I'll try to recap what I know at the end of this letter.

> Is it possible that I'm misinterpreting the range of "on-topic" subjects
> for the port-vax mailing list?  I originally subscribed in a hope that
> it would contain some detailed discussion of what was being changed
> and why, with the hope that I could join in the development process.
> But in the past half-year the number of such technical discussions
> on port-vax can be counted on one hand...

Beats me what the idea of topics here is. For now, I just look upon it as
a possible path to get in touch with others using VAXen, who might give me
a hand, and vice versa.

> Another naive question: suppose I do track down a bug and fix it.
> How do my fixes get merged back into the "official" sources?  Do
> I e-mail them to somebody?  Is there some automated procedure
> where I put them in some incoming directory at ftp.netbsd.org and
> they get automagically merged into the NetBSD-current sources?

For me, I've sent the bugfixes to Ragge, and he has been incorporating
them. I'd suggest you do the same until someone says differently.

Okay, this will get a bit more technical now. This list might very well
not be complete, nor correct. It's just from memory, about the bugfixes
I've done the last few weeks:

File		Problem fixed
----		-------------
vax/trap.c	Swapping. The actual code was doing signed compares
		on addresses to find out if an invalid address was
		in system space, which obiously failed miserably.
		This caused the virtual memory system to exit left, since
		the page ref. bit is simulated on a vax via a page
		fault.
		The system might or might not survive this, depending
		on what pagefaulted. For me, the pagedaemon got the
		pagefault, which was less than fortunate, since this
		meant that all the paging that was needed to free more
		memory didn't occur. The result was a hanged system every
		time I got short on memory. (If this explanation is
		a bit unclear, ask again, and I can explain it more...)

vax/trap.c	getrusage didn't work. The problem was that a context
		switch was done by calling cpu_switch() instead of
		mi_switch()


mscp/mscp_disk.c	iostat/vmstat/systat.
		The mscp disk didn't setup the disk name in the
		structure, so that when any program wanted to find
		out the name of the disk, they got a NULL pointer.

include/psl.h		PSL_FPD and CLKF_INTR was wrong.
vax/vm_machdep.c	iostat and other programs that reported
		the amount of time spent in different modes didn't
		work correctly. Apart from the fix in psl.h, the
		system also calculated the idle time by assuming
		that id the OS was in system mode, and the current
		process pointer was NULL, the system was idle.
		However, the current process pointer was never set
		to null when the system was being idle.


I'm sure Ragge has fixed other stuff that I'm not aware of, and I've also
noticed that the checked in files are more complete now. Previously,
files.vax was incorrect and cfl.c was missing, now both looks fine.
I've just started using 1.2G myself, and it works fine. Notice that netbsd
has replaced swapon with swapctl as well. Looks like a nice new program.

If anyone is using top, I've just fixed a netbsd 1.3 module for it, since
the 1.0 version won't work with the new swapctl() syscall.

(Should I post that file here?)

	Johnny

Johnny Billquist                  || "I'm on a bus
                                  ||  on a psychedelic trip
email: bqt@update.uu.se           ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol