Print this page
9994 cxgbe t4nex: Handle get_fl_payload() alloc failures
9995 cxgbe t4_devo_attach() should initialize ->sfl

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/cxgbe/t4nex/adapter.h
          +++ new/usr/src/uts/common/io/cxgbe/t4nex/adapter.h
↓ open down ↓ 273 lines elided ↑ open up ↑
 274  274          uint32_t cidx;          /* consumer idx (buffer idx, NOT hw desc idx) */
 275  275          uint32_t pidx;          /* producer idx (buffer idx, NOT hw desc idx) */
 276  276          uint32_t needed;        /* # of buffers needed to fill up fl. */
 277  277          uint32_t lowat;         /* # of buffers <= this means fl needs help */
 278  278          uint32_t pending;       /* # of bufs allocated since last doorbell */
 279  279          uint32_t offset;        /* current packet within the larger buffer */
 280  280          uint16_t copy_threshold; /* anything this size or less is copied up */
 281  281  
 282  282          uint64_t copied_up;     /* # of frames copied into mblk and handed up */
 283  283          uint64_t passed_up;     /* # of frames wrapped in mblk and handed up */
      284 +        uint64_t allocb_fail;   /* # of mblk allocation failures */
 284  285  
 285  286          TAILQ_ENTRY(sge_fl) link; /* All starving freelists */
 286  287  };
 287  288  
 288  289  /* txq: SGE egress queue + miscellaneous items */
 289  290  struct sge_txq {
 290  291          struct sge_eq eq;       /* MUST be first */
 291  292  
 292  293          struct port_info *port; /* the port this txq belongs to */
 293  294          struct tx_sdesc *sdesc; /* KVA of software descriptor ring */
↓ open down ↓ 590 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX