Skip to content
  • Ilpo Järvinen's avatar
    tcp: introduce struct tcp_sacktag_state to reduce arg pressure · a1197f5a
    Ilpo Järvinen authored
    
    
    There are just too many args to some sacktag functions. This
    idea was first proposed by David S. Miller around a year ago,
    and the current situation is much worse that what it was back
    then.
    
    tcp_sacktag_one can be made a bit simpler by returning the
    new sacked (it can be achieved with a single variable though
    the previous code "caching" sacked into a local variable and
    therefore it is not exactly equal but the results will be the
    same).
    
    codiff on x86_64
      tcp_sacktag_one         |  -15
      tcp_shifted_skb         |  -50
      tcp_match_skb_to_sack   |   -1
      tcp_sacktag_walk        |  -64
      tcp_sacktag_write_queue |  -59
      tcp_urg                 |   +1
      tcp_event_data_recv     |   -1
     7 functions changed, 1 bytes added, 190 bytes removed, diff: -189
    
    Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a1197f5a