Lines Matching refs:dev_maps
2370 static bool remove_xps_queue(struct xps_dev_maps *dev_maps, in remove_xps_queue() argument
2376 if (dev_maps) in remove_xps_queue()
2377 map = xmap_dereference(dev_maps->attr_map[tci]); in remove_xps_queue()
2392 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in remove_xps_queue()
2401 struct xps_dev_maps *dev_maps, in remove_xps_queue_cpu() argument
2404 int num_tc = dev_maps->num_tc; in remove_xps_queue_cpu()
2412 if (!remove_xps_queue(dev_maps, NULL, tci, j)) in remove_xps_queue_cpu()
2423 struct xps_dev_maps *dev_maps, in reset_xps_maps() argument
2432 kfree_rcu(dev_maps, rcu); in reset_xps_maps()
2438 struct xps_dev_maps *dev_maps; in clean_xps_maps() local
2442 dev_maps = xmap_dereference(dev->xps_maps[type]); in clean_xps_maps()
2443 if (!dev_maps) in clean_xps_maps()
2446 for (j = 0; j < dev_maps->nr_ids; j++) in clean_xps_maps()
2447 active |= remove_xps_queue_cpu(dev, dev_maps, j, offset, count); in clean_xps_maps()
2449 reset_xps_maps(dev, dev_maps, type); in clean_xps_maps()
2522 static void xps_copy_dev_maps(struct xps_dev_maps *dev_maps, in xps_copy_dev_maps() argument
2526 int i, tci = index * dev_maps->num_tc; in xps_copy_dev_maps()
2530 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in xps_copy_dev_maps()
2535 map = xmap_dereference(dev_maps->attr_map[tci]); in xps_copy_dev_maps()
2544 struct xps_dev_maps *dev_maps, *new_dev_maps = NULL, *old_dev_maps = NULL; in __netif_set_xps_queue() local
2568 dev_maps = xmap_dereference(dev->xps_maps[type]); in __netif_set_xps_queue()
2587 if (dev_maps && in __netif_set_xps_queue()
2588 dev_maps->num_tc == num_tc && dev_maps->nr_ids == nr_ids) in __netif_set_xps_queue()
2606 map = copy ? xmap_dereference(dev_maps->attr_map[tci]) : NULL; in __netif_set_xps_queue()
2618 if (!dev_maps) { in __netif_set_xps_queue()
2653 xps_copy_dev_maps(dev_maps, new_dev_maps, j, tc, in __netif_set_xps_queue()
2660 if (!dev_maps) in __netif_set_xps_queue()
2663 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2664 for (i = num_tc, tci = j * dev_maps->num_tc; i--; tci++) { in __netif_set_xps_queue()
2665 map = xmap_dereference(dev_maps->attr_map[tci]); in __netif_set_xps_queue()
2675 RCU_INIT_POINTER(dev_maps->attr_map[tci], NULL); in __netif_set_xps_queue()
2680 old_dev_maps = dev_maps; in __netif_set_xps_queue()
2683 dev_maps = new_dev_maps; in __netif_set_xps_queue()
2693 if (!dev_maps) in __netif_set_xps_queue()
2697 for (j = 0; j < dev_maps->nr_ids; j++) { in __netif_set_xps_queue()
2698 tci = j * dev_maps->num_tc; in __netif_set_xps_queue()
2700 for (i = 0; i < dev_maps->num_tc; i++, tci++) { in __netif_set_xps_queue()
2702 netif_attr_test_mask(j, mask, dev_maps->nr_ids) && in __netif_set_xps_queue()
2703 netif_attr_test_online(j, online_mask, dev_maps->nr_ids)) in __netif_set_xps_queue()
2706 active |= remove_xps_queue(dev_maps, in __netif_set_xps_queue()
2717 reset_xps_maps(dev, dev_maps, type); in __netif_set_xps_queue()
2729 xmap_dereference(dev_maps->attr_map[tci]) : in __netif_set_xps_queue()
4004 struct xps_dev_maps *dev_maps, unsigned int tci) in __get_xps_queue_idx() argument
4010 if (tc >= dev_maps->num_tc || tci >= dev_maps->nr_ids) in __get_xps_queue_idx()
4013 tci *= dev_maps->num_tc; in __get_xps_queue_idx()
4016 map = rcu_dereference(dev_maps->attr_map[tci]); in __get_xps_queue_idx()
4034 struct xps_dev_maps *dev_maps; in get_xps_queue() local
4045 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_RXQS]); in get_xps_queue()
4046 if (dev_maps) { in get_xps_queue()
4050 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()
4056 dev_maps = rcu_dereference(sb_dev->xps_maps[XPS_CPUS]); in get_xps_queue()
4057 if (dev_maps) { in get_xps_queue()
4060 queue_index = __get_xps_queue_idx(dev, skb, dev_maps, in get_xps_queue()