got most of procps-3.1.11ff2.diff
This commit is contained in:
@@ -607,6 +607,8 @@ const char * wchan(unsigned KLONG address, unsigned pid) {
|
||||
|
||||
/* good_symb->name has the data, but needs to be trimmed */
|
||||
ret = good_symb->name;
|
||||
// lame ppc64 has a '.' in front of every name
|
||||
if(*ret=='.') ret++;
|
||||
switch(*ret){
|
||||
case 's': if(!strncmp(ret, "sys_", 4)) ret += 4; break;
|
||||
case 'd': if(!strncmp(ret, "do_", 3)) ret += 3; break;
|
||||
|
@@ -10,7 +10,7 @@ global:
|
||||
Hertz; smp_num_cpus;
|
||||
sprint_uptime; uptime; user_from_uid; print_uptime; loadavg;
|
||||
pretty_print_signals; print_given_signals; unix_print_signals; signal_name_to_number; signal_number_to_name;
|
||||
meminfo; vminfo; getstat; getdiskstat; getslabinfo; get_pid_digits;
|
||||
meminfo; vminfo; getstat; getdiskstat; getpartitions_num; getslabinfo; get_pid_digits;
|
||||
kb_active; kb_inactive; kb_main_buffers; kb_main_cached;
|
||||
kb_main_free; kb_main_total; kb_main_used; kb_swap_free;
|
||||
kb_swap_total; kb_swap_used; kb_main_shared;
|
||||
|
@@ -671,6 +671,21 @@ static unsigned int getFileLines(const char* szFile){
|
||||
return lines;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
unsigned int getpartitions_num(struct disk_stat *disks, int ndisks){
|
||||
int i=0;
|
||||
int partitions=0;
|
||||
|
||||
for (i=0;i<ndisks;i++){
|
||||
partitions+=disks[i].partitions;
|
||||
}
|
||||
return partitions;
|
||||
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **partitions){
|
||||
FILE* fd;
|
||||
int units,
|
||||
@@ -711,6 +726,7 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
|
||||
&(*disks)[cDisk].milli_spent_IO,
|
||||
&(*disks)[cDisk].weighted_milli_spent_IO
|
||||
);
|
||||
(*disks)[cDisk].partitions=0;
|
||||
cDisk++;
|
||||
}else{
|
||||
(*partitions) = realloc(*partitions, (cPartition+1)*sizeof(struct partition_stat));
|
||||
@@ -725,6 +741,7 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
|
||||
&(*partitions)[cPartition].requested_writes
|
||||
);
|
||||
(*partitions)[cPartition++].parent_disk = &((*disks)[cDisk-1]);
|
||||
(*disks)[cDisk-1].partitions++;
|
||||
}
|
||||
}
|
||||
fclose(fd);
|
||||
|
@@ -102,6 +102,7 @@ typedef struct disk_stat{
|
||||
unsigned inprogress_IO;
|
||||
unsigned milli_spent_IO;
|
||||
unsigned weighted_milli_spent_IO;
|
||||
unsigned partitions;
|
||||
}disk_stat;
|
||||
|
||||
typedef struct partition_stat{
|
||||
@@ -115,6 +116,7 @@ typedef struct partition_stat{
|
||||
unsigned requested_writes;
|
||||
}partition_stat;
|
||||
|
||||
extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);
|
||||
extern unsigned int getdiskstat (struct disk_stat**,struct partition_stat**);
|
||||
|
||||
typedef struct slab_cache{
|
||||
|
Reference in New Issue
Block a user