Lines Matching refs:dev_maps
2606 static bool remove_xps_queue(struct xps_dev_maps *dev_maps, in remove_xps_queue() argument
2612 map = xmap_dereference(dev_maps->attr_map[tci]); in remove_xps_queue()
2627 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in remove_xps_queue()
2636 struct xps_dev_maps *dev_maps, in remove_xps_queue_cpu() argument
2639 int num_tc = dev_maps->num_tc; in remove_xps_queue_cpu()
2647 if (!remove_xps_queue(dev_maps, NULL, tci, j)) in remove_xps_queue_cpu()
2658 struct xps_dev_maps *dev_maps, in reset_xps_maps() argument
2667 kfree_rcu(dev_maps, rcu); in reset_xps_maps()
2673 struct xps_dev_maps *dev_maps; in clean_xps_maps() local
2677 dev_maps = xmap_dereference(dev->xps_maps[type]); in clean_xps_maps()
2678 if (!dev_maps) in clean_xps_maps()
2681 for (j = 0; j < dev_maps->nr_ids; j++) in clean_xps_maps()
2682 active |= remove_xps_queue_cpu(dev, dev_maps, j, offset, count); in clean_xps_maps()
2684 reset_xps_maps(dev, dev_maps, type); in clean_xps_maps()
2757 static void xps_copy_dev_maps(struct xps_dev_maps *dev_maps, in xps_copy_dev_maps() argument
2761 int i, tci = index * dev_maps->num_tc; in xps_copy_dev_maps()
2765 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in xps_copy_dev_maps()
2770 map = xmap_dereference(dev_maps->attr_map[tci]); in xps_copy_dev_maps()
2779 struct xps_dev_maps *dev_maps, *new_dev_maps = NULL, *old_dev_maps = NULL; in __netif_set_xps_queue() local
2805 dev_maps = xmap_dereference(dev->xps_maps[type]); in __netif_set_xps_queue()
2824 if (dev_maps && in __netif_set_xps_queue()
2825 dev_maps->num_tc == num_tc && dev_maps->nr_ids == nr_ids) in __netif_set_xps_queue()
2843 map = copy ? xmap_dereference(dev_maps->attr_map[tci]) : NULL; in __netif_set_xps_queue()
2855 if (!dev_maps) { in __netif_set_xps_queue()
2890 xps_copy_dev_maps(dev_maps, new_dev_maps, j, tc, in __netif_set_xps_queue()
2897 if (!dev_maps) in __netif_set_xps_queue()
2900 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2901 for (i = num_tc, tci = j * dev_maps->num_tc; i--; tci++) { in __netif_set_xps_queue()
2902 map = xmap_dereference(dev_maps->attr_map[tci]); in __netif_set_xps_queue()
2912 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in __netif_set_xps_queue()
2917 old_dev_maps = dev_maps; in __netif_set_xps_queue()
2920 dev_maps = new_dev_maps; in __netif_set_xps_queue()
2930 if (!dev_maps) in __netif_set_xps_queue()
2934 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2935 tci = j * dev_maps->num_tc; in __netif_set_xps_queue()
2937 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in __netif_set_xps_queue()
2939 netif_attr_test_mask(j, mask, dev_maps->nr_ids) && in __netif_set_xps_queue()
2940 netif_attr_test_online(j, online_mask, dev_maps->nr_ids)) in __netif_set_xps_queue()
2943 active |= remove_xps_queue(dev_maps, in __netif_set_xps_queue()
2954 reset_xps_maps(dev, dev_maps, type); in __netif_set_xps_queue()
2966 xmap_dereference(dev_maps->attr_map[tci]) : in __netif_set_xps_queue()
4385 struct xps_dev_maps *dev_maps, unsigned int tci) in __get_xps_queue_idx() argument
4391 if (tc >= dev_maps->num_tc || tci >= dev_maps->nr_ids) in __get_xps_queue_idx()
4394 tci *= dev_maps->num_tc; in __get_xps_queue_idx()
4397 map = rcu_dereference(dev_maps->attr_map[tci]); in __get_xps_queue_idx()
4415 struct xps_dev_maps *dev_maps; in get_xps_queue() local
4426 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_RXQS]); in get_xps_queue()
4427 if (dev_maps) { in get_xps_queue()
4431 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()
4437 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_CPUS]); in get_xps_queue()
4438 if (dev_maps) { in get_xps_queue()
4441 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()