> [ I'll post per function analysis as i complete them, as a reply to > this mail. ] [ i'll do a separate mail for every function analyzed, the discussion spreads better that way. ] > 100.000000 total > ................ > 7.253355 copy_user_generic_string This is the Well-known pattern of user-copy overhead, which centers around this single REP MOVS instruction: nr-of-hits ......... ffffffff80341eea: 42 83 e2 07 and $0x7,%edx ffffffff80341eed: 677398 f3 48 a5 rep movsq %ds:(%rsi),%es:(%rdi) ffffffff80341ef0: 3642 89 d1 mov %edx,%ecx ffffffff80341ef2: 16260 f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) ffffffff80341ef4: 6554 31 c0 xor %eax,%eax ffffffff80341ef6: 1958 c3 retq ffffffff80341ef7: 0 90 nop ffffffff80341ef8: 0 90 nop That's to be expected - tbench shuffles 3.5 GB of effective data to/from sockets. That's 7.5 GB due to double-copy. So for every 64 bytes of data transferred we spend 1.4 CPU cycles in this specific function - that is OK-ish. Ingo -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html