Lines Matching refs:dev_maps

2414 static bool remove_xps_queue(struct xps_dev_maps *dev_maps,  in remove_xps_queue()  argument
2420 map = xmap_dereference(dev_maps->attr_map[tci]); in remove_xps_queue()
2435 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in remove_xps_queue()
2444 struct xps_dev_maps *dev_maps, in remove_xps_queue_cpu() argument
2447 int num_tc = dev_maps->num_tc; in remove_xps_queue_cpu()
2455 if (!remove_xps_queue(dev_maps, NULL, tci, j)) in remove_xps_queue_cpu()
2466 struct xps_dev_maps *dev_maps, in reset_xps_maps() argument
2475 kfree_rcu(dev_maps, rcu); in reset_xps_maps()
2481 struct xps_dev_maps *dev_maps; in clean_xps_maps() local
2485 dev_maps = xmap_dereference(dev->xps_maps[type]); in clean_xps_maps()
2486 if (!dev_maps) in clean_xps_maps()
2489 for (j = 0; j < dev_maps->nr_ids; j++) in clean_xps_maps()
2490 active |= remove_xps_queue_cpu(dev, dev_maps, j, offset, count); in clean_xps_maps()
2492 reset_xps_maps(dev, dev_maps, type); in clean_xps_maps()
2565 static void xps_copy_dev_maps(struct xps_dev_maps *dev_maps, in xps_copy_dev_maps() argument
2569 int i, tci = index * dev_maps->num_tc; in xps_copy_dev_maps()
2573 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in xps_copy_dev_maps()
2578 map = xmap_dereference(dev_maps->attr_map[tci]); in xps_copy_dev_maps()
2587 struct xps_dev_maps *dev_maps, *new_dev_maps = NULL, *old_dev_maps = NULL; in __netif_set_xps_queue() local
2613 dev_maps = xmap_dereference(dev->xps_maps[type]); in __netif_set_xps_queue()
2632 if (dev_maps && in __netif_set_xps_queue()
2633 dev_maps->num_tc == num_tc && dev_maps->nr_ids == nr_ids) in __netif_set_xps_queue()
2651 map = copy ? xmap_dereference(dev_maps->attr_map[tci]) : NULL; in __netif_set_xps_queue()
2663 if (!dev_maps) { in __netif_set_xps_queue()
2698 xps_copy_dev_maps(dev_maps, new_dev_maps, j, tc, in __netif_set_xps_queue()
2705 if (!dev_maps) in __netif_set_xps_queue()
2708 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2709 for (i = num_tc, tci = j * dev_maps->num_tc; i--; tci++) { in __netif_set_xps_queue()
2710 map = xmap_dereference(dev_maps->attr_map[tci]); in __netif_set_xps_queue()
2720 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in __netif_set_xps_queue()
2725 old_dev_maps = dev_maps; in __netif_set_xps_queue()
2728 dev_maps = new_dev_maps; in __netif_set_xps_queue()
2738 if (!dev_maps) in __netif_set_xps_queue()
2742 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2743 tci = j * dev_maps->num_tc; in __netif_set_xps_queue()
2745 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in __netif_set_xps_queue()
2747 netif_attr_test_mask(j, mask, dev_maps->nr_ids) && in __netif_set_xps_queue()
2748 netif_attr_test_online(j, online_mask, dev_maps->nr_ids)) in __netif_set_xps_queue()
2751 active |= remove_xps_queue(dev_maps, in __netif_set_xps_queue()
2762 reset_xps_maps(dev, dev_maps, type); in __netif_set_xps_queue()
2774 xmap_dereference(dev_maps->attr_map[tci]) : in __netif_set_xps_queue()
4119 struct xps_dev_maps *dev_maps, unsigned int tci) in __get_xps_queue_idx() argument
4125 if (tc >= dev_maps->num_tc || tci >= dev_maps->nr_ids) in __get_xps_queue_idx()
4128 tci *= dev_maps->num_tc; in __get_xps_queue_idx()
4131 map = rcu_dereference(dev_maps->attr_map[tci]); in __get_xps_queue_idx()
4149 struct xps_dev_maps *dev_maps; in get_xps_queue() local
4160 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_RXQS]); in get_xps_queue()
4161 if (dev_maps) { in get_xps_queue()
4165 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()
4171 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_CPUS]); in get_xps_queue()
4172 if (dev_maps) { in get_xps_queue()
4175 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()