cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

TODO (1880B)


      1* commit 7c734359d350 ("qlge: Size RX buffers based on MTU.", v2.6.33-rc1)
      2  introduced dead code in the receive routines, which should be rewritten
      3  anyways by the admission of the author himself, see the comment above
      4  ql_build_rx_skb(). That function is now used exclusively to handle packets
      5  that underwent header splitting but it still contains code to handle non
      6  split cases.
      7* truesize accounting is incorrect (ex: a 9000B frame has skb->truesize 10280
      8  while containing two frags of order-1 allocations, ie. >16K)
      9* while in that area, using two 8k buffers to store one 9k frame is a poor
     10  choice of buffer size.
     11* in the "chain of large buffers" case, the driver uses an skb allocated with
     12  head room but only puts data in the frags.
     13* rename "rx" queues to "completion" queues. Calling tx completion queues "rx
     14  queues" is confusing.
     15* struct rx_ring is used for rx and tx completions, with some members relevant
     16  to one case only
     17* the flow control implementation in firmware is buggy (sends a flood of pause
     18  frames, resets the link, device and driver buffer queues become
     19  desynchronized), disable it by default
     20* some structures are initialized redundantly (ex. memset 0 after
     21  alloc_etherdev())
     22* the driver has a habit of using runtime checks where compile time checks are
     23  possible (ex. ql_free_rx_buffers(), ql_alloc_rx_buffers())
     24* reorder struct members to avoid holes if it doesn't impact performance
     25* avoid legacy/deprecated apis (ex. replace pci_dma_*, replace pci_enable_msi,
     26  use pci_iomap)
     27* some "while" loops could be rewritten with simple "for", ex.
     28  ql_wait_reg_rdy(), ql_start_rx_ring())
     29* remove duplicate and useless comments
     30* fix weird line wrapping (all over, ex. the ql_set_routing_reg() calls in
     31  qlge_set_multicast_list()).
     32* fix weird indentation (all over, ex. the for loops in qlge_get_stats())
     33* fix checkpatch issues