Lines Matching refs:dev_maps
2630 static bool remove_xps_queue(struct xps_dev_maps *dev_maps, in remove_xps_queue() argument
2636 map = xmap_dereference(dev_maps->attr_map[tci]); in remove_xps_queue()
2651 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in remove_xps_queue()
2660 struct xps_dev_maps *dev_maps, in remove_xps_queue_cpu() argument
2663 int num_tc = dev_maps->num_tc; in remove_xps_queue_cpu()
2671 if (!remove_xps_queue(dev_maps, NULL, tci, j)) in remove_xps_queue_cpu()
2682 struct xps_dev_maps *dev_maps, in reset_xps_maps() argument
2691 kfree_rcu(dev_maps, rcu); in reset_xps_maps()
2697 struct xps_dev_maps *dev_maps; in clean_xps_maps() local
2701 dev_maps = xmap_dereference(dev->xps_maps[type]); in clean_xps_maps()
2702 if (!dev_maps) in clean_xps_maps()
2705 for (j = 0; j < dev_maps->nr_ids; j++) in clean_xps_maps()
2706 active |= remove_xps_queue_cpu(dev, dev_maps, j, offset, count); in clean_xps_maps()
2708 reset_xps_maps(dev, dev_maps, type); in clean_xps_maps()
2781 static void xps_copy_dev_maps(struct xps_dev_maps *dev_maps, in xps_copy_dev_maps() argument
2785 int i, tci = index * dev_maps->num_tc; in xps_copy_dev_maps()
2789 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in xps_copy_dev_maps()
2794 map = xmap_dereference(dev_maps->attr_map[tci]); in xps_copy_dev_maps()
2803 struct xps_dev_maps *dev_maps, *new_dev_maps = NULL, *old_dev_maps = NULL; in __netif_set_xps_queue() local
2829 dev_maps = xmap_dereference(dev->xps_maps[type]); in __netif_set_xps_queue()
2848 if (dev_maps && in __netif_set_xps_queue()
2849 dev_maps->num_tc == num_tc && dev_maps->nr_ids == nr_ids) in __netif_set_xps_queue()
2867 map = copy ? xmap_dereference(dev_maps->attr_map[tci]) : NULL; in __netif_set_xps_queue()
2879 if (!dev_maps) { in __netif_set_xps_queue()
2914 xps_copy_dev_maps(dev_maps, new_dev_maps, j, tc, in __netif_set_xps_queue()
2921 if (!dev_maps) in __netif_set_xps_queue()
2924 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2925 for (i = num_tc, tci = j * dev_maps->num_tc; i--; tci++) { in __netif_set_xps_queue()
2926 map = xmap_dereference(dev_maps->attr_map[tci]); in __netif_set_xps_queue()
2936 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in __netif_set_xps_queue()
2941 old_dev_maps = dev_maps; in __netif_set_xps_queue()
2944 dev_maps = new_dev_maps; in __netif_set_xps_queue()
2954 if (!dev_maps) in __netif_set_xps_queue()
2958 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2959 tci = j * dev_maps->num_tc; in __netif_set_xps_queue()
2961 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in __netif_set_xps_queue()
2963 netif_attr_test_mask(j, mask, dev_maps->nr_ids) && in __netif_set_xps_queue()
2964 netif_attr_test_online(j, online_mask, dev_maps->nr_ids)) in __netif_set_xps_queue()
2967 active |= remove_xps_queue(dev_maps, in __netif_set_xps_queue()
2978 reset_xps_maps(dev, dev_maps, type); in __netif_set_xps_queue()
2990 xmap_dereference(dev_maps->attr_map[tci]) : in __netif_set_xps_queue()
4409 struct xps_dev_maps *dev_maps, unsigned int tci) in __get_xps_queue_idx() argument
4415 if (tc >= dev_maps->num_tc || tci >= dev_maps->nr_ids) in __get_xps_queue_idx()
4418 tci *= dev_maps->num_tc; in __get_xps_queue_idx()
4421 map = rcu_dereference(dev_maps->attr_map[tci]); in __get_xps_queue_idx()
4439 struct xps_dev_maps *dev_maps; in get_xps_queue() local
4450 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_RXQS]); in get_xps_queue()
4451 if (dev_maps) { in get_xps_queue()
4455 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()
4461 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_CPUS]); in get_xps_queue()
4462 if (dev_maps) { in get_xps_queue()
4465 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()