aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
Commit message (Expand)AuthorAge
* perf scripts: Add event_analyzing_sample-record/reportFeng Tang2012-09-17
* perf script python: Correct handler check and spelling errorsFeng Tang2012-08-09
* perf scripts python: Add event_analyzing_sample.py as a sample for general ev...Feng Tang2012-08-08
* perf scripts python: Add a python library EventClass.pyFeng Tang2012-08-08
* perf script: Add drop monitor scriptNeil Horman2011-09-29
* perf script: Finish the rename from trace to scriptArnaldo Carvalho de Melo2010-12-25
* perf: Rename 'perf trace' to 'perf script'Ingo Molnar2010-11-16
* perf trace scripting: remove system-wide param from shell scriptsTom Zanussi2010-11-10
* perf python scripting: Add futex-contention scriptArnaldo Carvalho de Melo2010-10-26
* perf python scripting: Fixup cut'n'paste error in sctop scriptArnaldo Carvalho de Melo2010-10-26
* perf python scripting: Support fedora 11 (audit 1.7.17)Arnaldo Carvalho de Melo2010-10-25
* perf python scripting: Improve the syscalls-by-pid scriptArnaldo Carvalho de Melo2010-10-25
* perf python scripting: print the syscall name on sctopArnaldo Carvalho de Melo2010-10-25
* perf python scripting: Improve the syscalls-counts scriptArnaldo Carvalho de Melo2010-10-25
* perf python scripting: Improve the failed-syscalls-by-pid scriptArnaldo Carvalho de Melo2010-10-25
* perf trace: Use $PERF_EXEC_PATH in canned report scriptsBen Hutchings2010-10-23
* perf: Add a script to show packets processingKoki Sanagi2010-09-07
* perf, sched migration: Librarize task states and event headers helpersFrederic Weisbecker2010-08-01
* perf, sched migration: Librarize the GUI classFrederic Weisbecker2010-08-01
* perf, sched migration: Make the GUI class client agnosticFrederic Weisbecker2010-08-01
* perf, sched migration: Make it vertically scrollableFrederic Weisbecker2010-08-01
* perf, sched migration: Parameterize cpu height and spacingNikhil Rao2010-08-01
* perf, sched migration: Fix key bindingsNikhil Rao2010-08-01
* perf, sched migration: Ignore unhandled task statesFrederic Weisbecker2010-08-01
* perf, sched migration: Handle ignored migrate out eventsFrederic Weisbecker2010-08-01
* perf: New migration tool overviewFrederic Weisbecker2010-08-01
* perf scripts python: Give field dict to unhandled callbackPierre Tardy2010-06-01
* perf/trace/scripting: syscall-counts script cleanupTom Zanussi2010-05-10
* perf/trace/scripting: syscall-counts-by-pid script cleanupTom Zanussi2010-05-10
* perf/trace/scripting: failed-syscalls-by-pid script cleanupTom Zanussi2010-05-10
* perf: Remove leftover useless options to record trace events from scriptsFrederic Weisbecker2010-04-30
* perf trace/scripting: Enable scripting shell scripts for live modeTom Zanussi2010-04-14
* perf trace/scripting: Add rwtop and sctop scriptsTom Zanussi2010-04-14
* perf/scripts: Add syscall tracing scriptsTom Zanussi2010-02-24
* perf/scripts: Add Python scripting engineTom Zanussi2010-02-24
l opt">, 15, 19); ROUND2(A, B, C, D, 0, 3); ROUND2(D, A, B, C, 4, 5); ROUND2(C, D, A, B, 8, 9); ROUND2(B, C, D, A, 12, 13); ROUND2(A, B, C, D, 1, 3); ROUND2(D, A, B, C, 5, 5); ROUND2(C, D, A, B, 9, 9); ROUND2(B, C, D, A, 13, 13); ROUND2(A, B, C, D, 2, 3); ROUND2(D, A, B, C, 6, 5); ROUND2(C, D, A, B, 10, 9); ROUND2(B, C, D, A, 14, 13); ROUND2(A, B, C, D, 3, 3); ROUND2(D, A, B, C, 7, 5); ROUND2(C, D, A, B, 11, 9); ROUND2(B, C, D, A, 15, 13); ROUND3(A, B, C, D, 0, 3); ROUND3(D, A, B, C, 8, 9); ROUND3(C, D, A, B, 4, 11); ROUND3(B, C, D, A, 12, 15); ROUND3(A, B, C, D, 2, 3); ROUND3(D, A, B, C, 10, 9); ROUND3(C, D, A, B, 6, 11); ROUND3(B, C, D, A, 14, 15); ROUND3(A, B, C, D, 1, 3); ROUND3(D, A, B, C, 9, 9); ROUND3(C, D, A, B, 5, 11); ROUND3(B, C, D, A, 13, 15); ROUND3(A, B, C, D, 3, 3); ROUND3(D, A, B, C, 11, 9); ROUND3(C, D, A, B, 7, 11); ROUND3(B, C, D, A, 15, 15); *A += AA; *B += BB; *C += CC; *D += DD; *A &= 0xFFFFFFFF; *B &= 0xFFFFFFFF; *C &= 0xFFFFFFFF; *D &= 0xFFFFFFFF; for (j = 0; j < 16; j++) X[j] = 0; } static void copy64(__u32 * M, unsigned char *in) { int i; for (i = 0; i < 16; i++) M[i] = (in[i * 4 + 3] << 24) | (in[i * 4 + 2] << 16) | (in[i * 4 + 1] << 8) | (in[i * 4 + 0] << 0); } static void copy4(unsigned char *out, __u32 x) { out[0] = x & 0xFF; out[1] = (x >> 8) & 0xFF; out[2] = (x >> 16) & 0xFF; out[3] = (x >> 24) & 0xFF; } /* produce a md4 message digest from data of length n bytes */ void mdfour(unsigned char *out, unsigned char *in, int n) { unsigned char buf[128]; __u32 M[16]; __u32 b = n * 8; int i; __u32 A = 0x67452301; __u32 B = 0xefcdab89; __u32 C = 0x98badcfe; __u32 D = 0x10325476; while (n > 64) { copy64(M, in); mdfour64(M, &A, &B, &C, &D); in += 64; n -= 64; } for (i = 0; i < 128; i++) buf[i] = 0; memcpy(buf, in, n); buf[n] = 0x80; if (n <= 55) { copy4(buf + 56, b); copy64(M, buf); mdfour64(M, &A, &B, &C, &D); } else { copy4(buf + 120, b); copy64(M, buf); mdfour64(M, &A, &B, &C, &D); copy64(M, buf + 64); mdfour64(M, &A, &B, &C, &D); } for (i = 0; i < 128; i++) buf[i] = 0; copy64(M, buf); copy4(out, A); copy4(out + 4, B); copy4(out + 8, C); copy4(out + 12, D); A = B = C = D = 0; }