← Commit list

b20b3790b

Denys Vlasenko
Denys Vlasenko
2024-07-13
SUCCESS Duration: 156s

Subject

powertop: code shrink

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

procps/powertop.c+6 -19
@@ -498,24 +498,11 @@ static NOINLINE int process_timer_stats(void)
}
#ifdef __i386__
-/*
- * Get information about CPU using CPUID opcode.
- */
-static void cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx,
- unsigned int *edx)
+static void cpuid_eax_ecx_edx(unsigned *eax, unsigned *ebx, unsigned *ecx, unsigned *edx)
{
- /* EAX value specifies what information to return */
- asm (
- " cpuid\n"
- : "=a"(*eax), /* Output */
- "=b"(*ebx),
- "=c"(*ecx),
- "=d"(*edx)
- : "0"(*eax), /* Input */
- "1"(*ebx),
- "2"(*ecx),
- "3"(*edx)
- /* No clobbered registers */
+ asm ("cpuid"
+ : "=a"(*eax), "=b"(*ebx), "=c"(*ecx), "=d"(*edx)
+ : "0" (*eax), "2" (*ecx), "3" (*edx)
);
}
#endif
@@ -592,8 +579,8 @@ static NOINLINE void print_intel_cstates(void)
return;
eax = 5;
- ebx = ecx = edx = 0;
- cpuid(&eax, &ebx, &ecx, &edx);
+ ecx = edx = 0; /* paranoia, should not be needed */
+ cpuid_eax_ecx_edx(&eax, /*unused:*/&ebx, &ecx, &edx);
if (!edx || !(ecx & 1))
return;