On Tue, 8 Jan 2008, Ilpo Järvinen wrote: > On Mon, 7 Jan 2008, David Miller wrote: > > > From: Andi Kleen <[EMAIL PROTECTED]> > > Date: Tue, 8 Jan 2008 06:00:07 +0100 > > > > > On Mon, Jan 07, 2008 at 07:37:00PM -0800, David Miller wrote: > > > > The vast majority of them are one, two, and three liners. > > > > > > % awk ' { line++ } ; /^{/ { total++; start = line } ; /^}/ { > > > len=line-start-3; if (len > 4) l++; if (len >= 10) k++; } ; END { print > > > total, l, l/total, k, k/total }' < include/net/tcp.h > > > 68 28 0.411765 20 0.294118 > > > > > > 41% are over 4 lines, 29% are >= 10 lines. > > > > Take out the comments and whitespace lines, your script is > > too simplistic.
In addition it triggered spuriously per struct/enum end brace :-) and was using the last known function starting brace in there so no wonder the numbers were that high... Counting with the corrected lines (len=line-start-1) & spurious matches removed: 74 19 0.256757 7 0.0945946 Here are (finally) the measured bytes (couple of the functions are missing because I had couple of bugs in the regexps and the #if trickery at the inline resulted failed compiles): 12 funcs, 242+, 1697-, diff: -1455 tcp_set_state 13 funcs, 92+, 632-, diff: -540 tcp_is_cwnd_limited 12 funcs, 2836+, 3225-, diff: -389 tcp_current_ssthresh 5 funcs, 261+, 556-, diff: -295 tcp_prequeue 7 funcs, 2777+, 3049-, diff: -272 tcp_clear_retrans_hints_partial 11 funcs, 64+, 275-, diff: -211 tcp_win_from_space 6 funcs, 128+, 320-, diff: -192 tcp_prequeue_init 12 funcs, 45+, 209-, diff: -164 tcp_set_ca_state 7 funcs, 106+, 237-, diff: -131 tcp_fast_path_check 5 funcs, 167+, 291-, diff: -124 tcp_write_queue_purge 6 funcs, 43+, 160-, diff: -117 tcp_push_pending_frames 9 funcs, 55+, 159-, diff: -104 tcp_v4_check 6 funcs, 4+, 97-, diff: -93 tcp_packets_in_flight 7 funcs, 58+, 150-, diff: -92 tcp_fast_path_on 4 funcs, 4+, 91-, diff: -87 tcp_clear_options 6 funcs, 141+, 217-, diff: -76 tcp_openreq_init 8 funcs, 38+, 111-, diff: -73 tcp_unlink_write_queue 7 funcs, 32+, 103-, diff: -71 tcp_checksum_complete 7 funcs, 35+, 101-, diff: -66 __tcp_fast_path_on 5 funcs, 4+, 66-, diff: -62 tcp_receive_window 6 funcs, 67+, 128-, diff: -61 tcp_add_write_queue_tail 7 funcs, 30+, 86-, diff: -56 tcp_ca_event 6 funcs, 73+, 106-, diff: -33 tcp_paws_check 4 funcs, 4+, 36-, diff: -32 tcp_highest_sack_seq 6 funcs, 46+, 78-, diff: -32 tcp_fin_time 3 funcs, 4+, 35-, diff: -31 tcp_clear_all_retrans_hints 7 funcs, 30+, 51-, diff: -21 __tcp_add_write_queue_tail 3 funcs, 4+, 14-, diff: -10 tcp_enable_fack 4 funcs, 4+, 14-, diff: -10 keepalive_time_when 8 funcs, 66+, 73-, diff: -7 tcp_full_space 3 funcs, 4+, 5-, diff: -1 tcp_wnd_end 4 funcs, 97+, 97-, diff: +0 tcp_mib_init 3 funcs, 4+, 3-, diff: +1 tcp_skb_is_last 2 funcs, 4+, 2-, diff: +2 keepalive_intvl_when 2 funcs, 4+, 2-, diff: +2 tcp_is_fack 2 funcs, 4+, 2-, diff: +2 tcp_skb_mss 2 funcs, 4+, 2-, diff: +2 tcp_write_queue_empty 2 funcs, 4+, 2-, diff: +2 tcp_advance_highest_sack 2 funcs, 4+, 2-, diff: +2 tcp_advance_send_head 2 funcs, 4+, 2-, diff: +2 tcp_check_send_head 2 funcs, 4+, 2-, diff: +2 tcp_highest_sack_reset 2 funcs, 4+, 2-, diff: +2 tcp_init_send_head 2 funcs, 4+, 2-, diff: +2 tcp_sack_reset 6 funcs, 47+, 44-, diff: +3 tcp_space 5 funcs, 55+, 50-, diff: +5 tcp_too_many_orphans 3 funcs, 8+, 2-, diff: +6 tcp_minshall_update 3 funcs, 8+, 2-, diff: +6 tcp_update_wl 8 funcs, 25+, 14-, diff: +11 between 3 funcs, 14+, 2-, diff: +12 tcp_put_md5sig_pool 3 funcs, 14+, 2-, diff: +12 tcp_clear_xmit_timers 5 funcs, 30+, 17-, diff: +13 tcp_dec_pcount_approx_int 6 funcs, 33+, 20-, diff: +13 tcp_insert_write_queue_after 3 funcs, 17+, 2-, diff: +15 __tcp_checksum_complete 5 funcs, 17+, 2-, diff: +15 tcp_init_wl 4 funcs, 57+, 41-, diff: +16 tcp_dec_quickack_mode 4 funcs, 40+, 22-, diff: +18 __tcp_add_write_queue_head 5 funcs, 36+, 16-, diff: +20 tcp_highest_sack_combine 4 funcs, 40+, 18-, diff: +22 tcp_dec_pcount_approx 6 funcs, 29+, 5-, diff: +24 tcp_is_sack 4 funcs, 28+, 2-, diff: +26 tcp_is_reno 5 funcs, 50+, 24-, diff: +26 tcp_insert_write_queue_before 4 funcs, 83+, 56-, diff: +27 tcp_check_probe_timer 8 funcs, 69+, 14-, diff: +55 tcp_left_out 11 funcs, 2995+, 2893-, diff: +102 tcp_skb_pcount 30 funcs, 930+, 2-, diff: +928 before -- i.