RDMA/nes: Remove tx_free_list
There is no lock protecting tx_free_list thus causing a system crash when skb_dequeue() is called and the list is empty. Since it did not give any performance boost under heavy load, remove it to simplify the code. Replace get_free_pkt() with dev_alloc_skb() to allocate MAX_CM_BUFFER skb for connection establishment/teardown as well as MPA request/response. Signed-off-by: Faisal Latif <faisal.latif@intel.com> Signed-off-by: Chien Tung <chien.tin.tung@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:

committato da
Roland Dreier

parent
6098d10749
commit
e189062a8c
@@ -165,6 +165,8 @@ struct nes_timer_entry {
|
||||
|
||||
#define NES_CM_DEF_SEQ2 0x18ed5740
|
||||
#define NES_CM_DEF_LOCAL_ID2 0xb807
|
||||
#define MAX_CM_BUFFER 512
|
||||
|
||||
|
||||
typedef u32 nes_addr_t;
|
||||
|
||||
@@ -258,8 +260,6 @@ struct nes_cm_listener {
|
||||
|
||||
/* per connection node and node state information */
|
||||
struct nes_cm_node {
|
||||
u32 hashkey;
|
||||
|
||||
nes_addr_t loc_addr, rem_addr;
|
||||
u16 loc_port, rem_port;
|
||||
|
||||
@@ -357,7 +357,6 @@ struct nes_cm_core {
|
||||
u32 mtu;
|
||||
u32 free_tx_pkt_max;
|
||||
u32 rx_pkt_posted;
|
||||
struct sk_buff_head tx_free_list;
|
||||
atomic_t ht_node_cnt;
|
||||
struct list_head connected_nodes;
|
||||
/* struct list_head hashtable[NES_CM_HASHTABLE_SIZE]; */
|
||||
|
Fai riferimento in un nuovo problema
Block a user