[PATCH] Simple ARC stats in top

John Baldwin jhb at freebsd.org
Mon Jul 2 15:04:37 UTC 2012


On Monday, July 02, 2012 8:12:26 am Markus Gebert wrote:
> Hi John
> 
> On 27.06.2012, at 17:49, Markus Gebert wrote:
> 
> > On 27.06.2012, at 14:10, John Baldwin wrote:
> > 
> >> Hmmm, my patch is relative to a top that has -P backported and I can't 
> >> reproduce this, the ARC lines moves around properly if 'P' is toggled
> >> at runtime as well for me.  Did you have any conflicts in your patch
> >> that you had to resolve by hand?
> > 
> > No, I did not merge anything by hand. But what I did, and that probably 
was the cause, is only buildworld with NO_CLEAN=1 to save time and just 
rebuild top. Now that I've done a full buildworld, the probem seems to be 
gone. I'll test more and step up, if it happens again, but consider this 
solved for now. Sorry for the noise.
> 
> The problem is back. I don't know why I thought it was gone last week, maybe 
I looked at the wrong terminal or something.
> 
> Anyway, I tried again today, and I can reproduce this not only on 8.3 but 
also on 9.0. To rule out a problem with iTerm I also tried OS X Terminal and 
Gnome Terminal on Ubuntu. The terminal does not seem to matter at all.
> 
> This sample output is from a patched top (run with -S -P) on a 9.0 server 
connected to via ssh:

I found it.  I wasn't updating y_arc for PCPU stats.  Try this:

Index: usr.bin/top/machine.c
===================================================================
--- machine.c	(revision 225593)
+++ machine.c	(working copy)
@@ -263,6 +263,7 @@ update_layout(void)
 {
 
 	y_mem = 3;
+	y_arc = 4;
 	y_swap = 4 + arc_enabled;
 	y_idlecursor = 5 + arc_enabled;
 	y_message = 5 + arc_enabled;
@@ -271,7 +272,8 @@ update_layout(void)
 	Header_lines = 7 + arc_enabled;
 
 	if (pcpu_stats) {
-		y_mem = ncpus - 1;
+		y_mem += ncpus - 1;
+		y_arc += ncpus - 1;
 		y_swap += ncpus - 1;
 		y_idlecursor += ncpus - 1;
 		y_message += ncpus - 1;

-- 
John Baldwin


More information about the freebsd-fs mailing list