Advertisement
Guest User

arm32

a guest
Feb 28th, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.22 KB | None | 0 0
  1. struct net_device {
  2. char name[16]; /* 0 16 */
  3. struct hlist_node name_hlist; /* 16 8 */
  4. struct dev_ifalias * ifalias; /* 24 4 */
  5. long unsigned int mem_end; /* 28 4 */
  6. long unsigned int mem_start; /* 32 4 */
  7. long unsigned int base_addr; /* 36 4 */
  8. int irq; /* 40 4 */
  9. long unsigned int state; /* 44 4 */
  10. struct list_head dev_list; /* 48 8 */
  11. struct list_head napi_list; /* 56 8 */
  12. /* --- cacheline 1 boundary (64 bytes) --- */
  13. struct list_head unreg_list; /* 64 8 */
  14. struct list_head close_list; /* 72 8 */
  15. struct list_head ptype_all; /* 80 8 */
  16. struct list_head ptype_specific; /* 88 8 */
  17. struct {
  18. struct list_head upper; /* 96 8 */
  19. struct list_head lower; /* 104 8 */
  20. } adj_list; /* 96 16 */
  21. netdev_features_t features; /* 112 8 */
  22. netdev_features_t hw_features; /* 120 8 */
  23. /* --- cacheline 2 boundary (128 bytes) --- */
  24. netdev_features_t wanted_features; /* 128 8 */
  25. netdev_features_t vlan_features; /* 136 8 */
  26. netdev_features_t hw_enc_features; /* 144 8 */
  27. netdev_features_t mpls_features; /* 152 8 */
  28. netdev_features_t gso_partial_features; /* 160 8 */
  29. int ifindex; /* 168 4 */
  30. int group; /* 172 4 */
  31. struct net_device_stats stats; /* 176 92 */
  32. /* --- cacheline 4 boundary (256 bytes) was 12 bytes ago --- */
  33. atomic_long_t rx_dropped; /* 268 4 */
  34. atomic_long_t tx_dropped; /* 272 4 */
  35. atomic_long_t rx_nohandler; /* 276 4 */
  36. atomic_t carrier_up_count; /* 280 4 */
  37. atomic_t carrier_down_count; /* 284 4 */
  38. const struct iw_handler_def * wireless_handlers; /* 288 4 */
  39. struct iw_public_data * wireless_data; /* 292 4 */
  40. const struct net_device_ops * netdev_ops; /* 296 4 */
  41. const struct ethtool_ops * ethtool_ops; /* 300 4 */
  42. const struct ndisc_ops * ndisc_ops; /* 304 4 */
  43. const struct header_ops * header_ops; /* 308 4 */
  44. unsigned int flags; /* 312 4 */
  45. unsigned int priv_flags; /* 316 4 */
  46. /* --- cacheline 5 boundary (320 bytes) --- */
  47. short unsigned int gflags; /* 320 2 */
  48. short unsigned int padded; /* 322 2 */
  49. unsigned char operstate; /* 324 1 */
  50. unsigned char link_mode; /* 325 1 */
  51. unsigned char if_port; /* 326 1 */
  52. unsigned char dma; /* 327 1 */
  53. unsigned int mtu; /* 328 4 */
  54. unsigned int min_mtu; /* 332 4 */
  55. unsigned int max_mtu; /* 336 4 */
  56. short unsigned int type; /* 340 2 */
  57. short unsigned int hard_header_len; /* 342 2 */
  58. unsigned char min_header_len; /* 344 1 */
  59.  
  60. /* XXX 1 byte hole, try to pack */
  61.  
  62. short unsigned int needed_headroom; /* 346 2 */
  63. short unsigned int needed_tailroom; /* 348 2 */
  64. unsigned char perm_addr[32]; /* 350 32 */
  65. unsigned char addr_assign_type; /* 382 1 */
  66. unsigned char addr_len; /* 383 1 */
  67. /* --- cacheline 6 boundary (384 bytes) --- */
  68. unsigned char vid_len; /* 384 1 */
  69.  
  70. /* XXX 1 byte hole, try to pack */
  71.  
  72. short unsigned int neigh_priv_len; /* 386 2 */
  73. short unsigned int dev_id; /* 388 2 */
  74. short unsigned int dev_port; /* 390 2 */
  75. spinlock_t addr_list_lock; /* 392 4 */
  76. unsigned char name_assign_type; /* 396 1 */
  77. bool uc_promisc; /* 397 1 */
  78.  
  79. /* XXX 2 bytes hole, try to pack */
  80.  
  81. struct netdev_hw_addr_list uc; /* 400 12 */
  82. struct netdev_hw_addr_list mc; /* 412 12 */
  83. struct netdev_hw_addr_list dev_addrs; /* 424 12 */
  84. struct kset * queues_kset; /* 436 4 */
  85. unsigned int promiscuity; /* 440 4 */
  86. unsigned int allmulti; /* 444 4 */
  87. /* --- cacheline 7 boundary (448 bytes) --- */
  88. struct vlan_info * vlan_info; /* 448 4 */
  89. struct in_device * ip_ptr; /* 452 4 */
  90. struct inet6_dev * ip6_ptr; /* 456 4 */
  91. struct wireless_dev * ieee80211_ptr; /* 460 4 */
  92. struct wpan_dev * ieee802154_ptr; /* 464 4 */
  93. unsigned char * dev_addr; /* 468 4 */
  94. struct netdev_rx_queue * _rx; /* 472 4 */
  95. unsigned int num_rx_queues; /* 476 4 */
  96. unsigned int real_num_rx_queues; /* 480 4 */
  97. struct bpf_prog * xdp_prog; /* 484 4 */
  98. long unsigned int gro_flush_timeout; /* 488 4 */
  99. rx_handler_func_t * rx_handler; /* 492 4 */
  100. void * rx_handler_data; /* 496 4 */
  101. struct mini_Qdisc * miniq_ingress; /* 500 4 */
  102. struct netdev_queue * ingress_queue; /* 504 4 */
  103. struct nf_hook_entries * nf_hooks_ingress; /* 508 4 */
  104. /* --- cacheline 8 boundary (512 bytes) --- */
  105. unsigned char broadcast[32]; /* 512 32 */
  106. struct cpu_rmap * rx_cpu_rmap; /* 544 4 */
  107. struct hlist_node index_hlist; /* 548 8 */
  108.  
  109. /* XXX 20 bytes hole, try to pack */
  110.  
  111. /* --- cacheline 9 boundary (576 bytes) --- */
  112. struct netdev_queue * _tx; /* 576 4 */
  113. unsigned int num_tx_queues; /* 580 4 */
  114. unsigned int real_num_tx_queues; /* 584 4 */
  115. struct Qdisc * qdisc; /* 588 4 */
  116. struct hlist_head qdisc_hash[16]; /* 592 64 */
  117. /* --- cacheline 10 boundary (640 bytes) was 16 bytes ago --- */
  118. unsigned int tx_queue_len; /* 656 4 */
  119. spinlock_t tx_global_lock; /* 660 4 */
  120. int watchdog_timeo; /* 664 4 */
  121. struct xps_dev_maps * xps_cpus_map; /* 668 4 */
  122. struct xps_dev_maps * xps_rxqs_map; /* 672 4 */
  123. struct mini_Qdisc * miniq_egress; /* 676 4 */
  124. struct timer_list watchdog_timer; /* 680 20 */
  125. int * pcpu_refcnt; /* 700 4 */
  126. /* --- cacheline 11 boundary (704 bytes) --- */
  127. struct list_head todo_list; /* 704 8 */
  128. struct list_head link_watch_list; /* 712 8 */
  129. enum {
  130. NETREG_UNINITIALIZED = 0,
  131. NETREG_REGISTERED = 1,
  132. NETREG_UNREGISTERING = 2,
  133. NETREG_UNREGISTERED = 3,
  134. NETREG_RELEASED = 4,
  135. NETREG_DUMMY = 5,
  136. } reg_state:8; /* 720 4 */
  137.  
  138. /* Bitfield combined with next fields */
  139.  
  140. bool dismantle; /* 721 1 */
  141.  
  142. /* Bitfield combined with previous fields */
  143.  
  144. enum {
  145. RTNL_LINK_INITIALIZED = 0,
  146. RTNL_LINK_INITIALIZING = 1,
  147. } rtnl_link_state:16; /* 720 4 */
  148. bool needs_free_netdev; /* 724 1 */
  149.  
  150. /* XXX 3 bytes hole, try to pack */
  151.  
  152. void (*priv_destructor)(struct net_device *); /* 728 4 */
  153. possible_net_t nd_net; /* 732 0 */
  154. union {
  155. void * ml_priv; /* 4 */
  156. struct pcpu_lstats * lstats; /* 4 */
  157. struct pcpu_sw_netstats * tstats; /* 4 */
  158. struct pcpu_dstats * dstats; /* 4 */
  159. }; /* 732 4 */
  160. struct device dev; /* 736 464 */
  161. /* --- cacheline 18 boundary (1152 bytes) was 48 bytes ago --- */
  162. const struct attribute_group * sysfs_groups[4]; /* 1200 16 */
  163. /* --- cacheline 19 boundary (1216 bytes) --- */
  164. const struct attribute_group * sysfs_rx_queue_group; /* 1216 4 */
  165. const struct rtnl_link_ops * rtnl_link_ops; /* 1220 4 */
  166. unsigned int gso_max_size; /* 1224 4 */
  167. u16 gso_max_segs; /* 1228 2 */
  168. s16 num_tc; /* 1230 2 */
  169. struct netdev_tc_txq tc_to_txq[16]; /* 1232 64 */
  170. /* --- cacheline 20 boundary (1280 bytes) was 16 bytes ago --- */
  171. u8 prio_tc_map[16]; /* 1296 16 */
  172. struct phy_device * phydev; /* 1312 4 */
  173. struct sfp_bus * sfp_bus; /* 1316 4 */
  174. struct lock_class_key * qdisc_tx_busylock; /* 1320 4 */
  175. struct lock_class_key * qdisc_running_key; /* 1324 4 */
  176. bool proto_down; /* 1328 1 */
  177.  
  178. /* Bitfield combined with previous fields */
  179.  
  180. unsigned int wol_enabled:1; /* 1328:23 4 */
  181.  
  182. /* size: 1344, cachelines: 21, members: 124 */
  183. /* sum members: 1305, holes: 5, sum holes: 27 */
  184. /* padding: 12 */
  185. /* bit_padding: 31 bits */
  186. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement