Lines Matching refs:tl
1447 static struct sched_domain *sd_init(struct sched_domain_topology_level *tl, const struct cpumask *cpu_map,
1450 struct sd_data *sdd = &tl->data;
1458 sched_domains_curr_level = tl->numa_level;
1461 sd_weight = cpumask_weight(tl->mask(cpu));
1463 if (tl->sd_flags) {
1464 sd_flags = (*tl->sd_flags)();
1491 .name = tl->name,
1495 cpumask_and(sched_domain_span(sd), cpu_map, tl->mask(cpu));
1519 if (sched_domains_numa_distance[tl->numa_level] > node_reclaim_distance) {
1561 #define for_each_sd_topology(tl) for (tl = sched_domain_topology; (tl)->mask; (tl)++)
1563 void set_sched_topology(struct sched_domain_topology_level *tl)
1569 sched_domain_topology = tl;
1677 struct sched_domain_topology_level *tl;
1785 tl = kzalloc((i + nr_levels + 1) * sizeof(struct sched_domain_topology_level), GFP_KERNEL);
1786 if (!tl) {
1794 tl[i] = sched_domain_topology[i];
1800 tl[i++] = (struct sched_domain_topology_level) {.mask = sd_numa_mask, .numa_level = 0, SD_INIT_NAME(NODE)};
1806 tl[i] = (struct sched_domain_topology_level) {
1814 sched_domain_topology = tl;
1872 struct sched_domain_topology_level *tl;
1875 for (tl = sched_domain_topology; (tl)->mask; (tl)++) {
1876 struct sd_data *sdd = &tl->data;
1946 struct sched_domain_topology_level *tl;
1949 for (tl = sched_domain_topology; (tl)->mask; (tl)++) {
1950 struct sd_data *sdd = &tl->data;
1984 static struct sched_domain *build_sched_domain(struct sched_domain_topology_level *tl, const struct cpumask *cpu_map,
1988 struct sched_domain *sd = sd_init(tl, cpu_map, child, dflags, cpu);
2013 static bool topology_span_sane(struct sched_domain_topology_level *tl, const struct cpumask *cpu_map, int cpu)
2018 if (tl->flags & SDTL_OVERLAP) {
2039 if (!cpumask_equal(tl->mask(cpu), tl->mask(i)) && cpumask_intersects(tl->mask(cpu), tl->mask(i))) {
2055 struct sched_domain_topology_level *tl, *asym_tl = NULL;
2083 for (tl = sched_domain_topology; (tl)->mask; (tl)++) {
2088 for_each_cpu_and(j, tl->mask(i), cpu_map) {
2098 asym_tl = tl;
2136 struct sched_domain_topology_level *tl;
2140 for (tl = sched_domain_topology; (tl)->mask; (tl)++) {
2141 if (tl == tl_asym) {
2146 if (WARN_ON(!topology_span_sane(tl, cpu_map, i))) {
2150 sd = build_sched_domain(tl, cpu_map, attr, sd, dflags, i);
2152 if (tl == sched_domain_topology) {
2155 if (tl->flags & SDTL_OVERLAP) {