Subject: Re: Semi(?)-success with an SMP kernel
To: None <firstname.lastname@example.org>
From: Simon Burge <email@example.com>
Date: 09/28/2000 10:10:12
[ moved to tech-kern for sysctl vm.uvmexp failure ]
Bill Sommerfeld wrote:
> James Sharp wrote:
> > I tried getting top to run to show me what processes were running, but
> > I get a "sysctl vm.uvmexp failed: Cannot allocate memory" message...i
> > havent' really chased that down much. Lack of sleep is catching up
> > with me.
> Someone resized "struct uvmexp" by adding a new counter to the middle,
> which broke backwards-compat with the 1.5 version of "top"; you need
> to rebuild top against the -current system headers.
My first thought was to suggest a struct uvmexp2 with fixed sized
fields, which is still probably something we want to do.
But for the simple case here, I think the problem here is that sysctl
is failing because top is requesting N bytes of data (the size of the
uvmexp struct in 1.5), and the structure is now N + M bytes long. Also,
the data that top is looking for hasn't moved with the new additions.
So, how about we put a comment in struct uvmexp2 just after "int wired;"
saying "put nothing above here - it will break binary compat with 1.5",
and change the sysctl so that it doesn't fail if there is a short data
Simon Burge <firstname.lastname@example.org>
NetBSD Sales, Support and Service: http://www.wasabisystems.com/