not yet. we could make -1 toggle combine_cpu, or have something like -1 and -N 
for combined and "N" cpus displayed?

On 16 Sep 2014, at 11:08 pm, Alexander Hall <alexan...@beard.se> wrote:

> 
> 
> On September 16, 2014 2:11:28 PM CEST, Mark Kettenis 
> <mark.kette...@xs4all.nl> wrote:
>>> Date: Tue, 16 Sep 2014 21:51:00 +1000
>>> From: David Gwynne <da...@gwynne.id.au>
>>> 
>>> if you have more than 8 cpus, combine the cpu lines by default.
> 
> Just curious, is there a command line argument to expand the list?
> 
> /Alexander
> 
>>> 
>>> ok?
>> 
>> 8 seems a reasonable number
>> 
>> ok kettenis@
>> 
>>> Index: machine.c
>>> ===================================================================
>>> RCS file: /cvs/src/usr.bin/top/machine.c,v
>>> retrieving revision 1.78
>>> diff -u -p -r1.78 machine.c
>>> --- machine.c       4 Jul 2014 05:58:31 -0000       1.78
>>> +++ machine.c       16 Sep 2014 11:46:41 -0000
>>> @@ -141,14 +141,26 @@ int           ncpu;
>>> unsigned int        maxslp;
>>> 
>>> int
>>> -machine_init(struct statics *statics)
>>> +getncpu(void)
>>> {
>>> +   int mib[] = { CTL_HW, HW_NCPU };
>>> +   int ncpu;
>>>     size_t size = sizeof(ncpu);
>>> -   int mib[2], pagesize, cpu;
>>> 
>>> -   mib[0] = CTL_HW;
>>> -   mib[1] = HW_NCPU;
>>> -   if (sysctl(mib, 2, &ncpu, &size, NULL, 0) == -1)
>>> +   if (sysctl(mib, sizeof(mib) / sizeof(mib[0]),
>>> +       &ncpu, &size, NULL, 0) == -1)
>>> +           return (-1);
>>> +
>>> +   return (ncpu);
>>> +}
>>> +
>>> +int
>>> +machine_init(struct statics *statics)
>>> +{
>>> +   int pagesize, cpu;
>>> +
>>> +   ncpu = getncpu();
>>> +   if (ncpu == -1)
>>>             return (-1);
>>>     cpu_states = calloc(ncpu, CPUSTATES * sizeof(int64_t));
>>>     if (cpu_states == NULL)
>>> Index: machine.h
>>> ===================================================================
>>> RCS file: /cvs/src/usr.bin/top/machine.h,v
>>> retrieving revision 1.17
>>> diff -u -p -r1.17 machine.h
>>> --- machine.h       5 Jun 2012 18:52:53 -0000       1.17
>>> +++ machine.h       16 Sep 2014 11:46:41 -0000
>>> @@ -93,3 +93,5 @@ extern char    *format_next_process(cadd
>>> extern uid_t    proc_owner(pid_t);
>>> 
>>> extern struct kinfo_proc    *getprocs(int, int, int *);
>>> +
>>> +int                getncpu(void);
>>> Index: top.c
>>> ===================================================================
>>> RCS file: /cvs/src/usr.bin/top/top.c,v
>>> retrieving revision 1.81
>>> diff -u -p -r1.81 top.c
>>> --- top.c   7 Apr 2014 15:49:22 -0000       1.81
>>> +++ top.c   16 Sep 2014 11:46:41 -0000
>>> @@ -250,6 +250,13 @@ parseargs(int ac, char **av)
>>>             }
>>>     }
>>> 
>>> +   i = getncpu();
>>> +   if (i == -1)
>>> +           err(1, NULL);
>>> +
>>> +   if (i > 8)
>>> +           combine_cpus = 1;
>>> +
>>>     /* get count of top processes to display (if any) */
>>>     if (optind < ac) {
>>>             if ((topn = atoiwi(av[optind])) == Invalid) {
>>> 
>>> 
> 


Reply via email to