Lines Matching defs:weight

446  * are issued to redirect interrupts of a specified weight, from heavy to
447 * light. This allows all the interrupts of a given weight to be redistributed
448 * for all weighted nexus drivers prior to those of less weight.
531 * associated with interrupt weights by ordering operations from heavy weight
532 * to light weight. When a CPUs orientation changes relative to interrupts,
539 * occurring late, so optimal "isolation" relative to weight is not occurring.
541 * might improve "spread" for medium weight devices since the "isolation" of
542 * a higher weight device may no longer be present.
551 * weight delta is large enough, and call cv_signal from timeout - causing
575 int32_t weight, max_weight;
590 * Assume that this redistribution may encounter a device weight
591 * via driver.conf tuning of "ddi-intr-weight" that is at most
604 * specifies a weight equal to weight_max should redirect all
605 * interrupts of weight weight_max or greater [weight_max, inf.).
606 * Interrupts of lesser weight should be processed on the call with
607 * the matching weight. This allows all the heaver weight interrupts
609 * to any lesser weight interrupts.
611 for (weight = max_weight; weight >= 0; weight--)
614 (iptr->arg, max_weight, weight);
638 * Weighted interrupt distribution provides two things: "spread" of weight
640 * particular device weight). A redistribution is what provides optimal
641 * "isolation" of heavy weight interrupts, optimal "spread" of weight
644 * An interrupt weight is a subjective number that represents the
646 * default weight is 0% (however the algorithm still maintains
648 * weight (35%). Interrupt weight only has meaning relative to the
649 * interrupt weight of other devices: a CPU can be weighted more than
652 * A coarse interrupt weight can be defined by the parent nexus driver
656 * and removes the weight of a device from the CPU that an interrupt
661 * The implementation also supports interrupt weight being specified in
662 * driver.conf files via the property "ddi-intr-weight", which takes
663 * precedence over the nexus supplied weight. This support is added to
669 * where heavy weight devices show up last. The nexus driver's interrupt
707 * weight. For a nexus that does not support weight the
708 * default weight of zero is used. We degrade to round-robin
709 * behavior among equal weightes. The default weight is zero
731 /* Choose if lighter weight */
738 INTR_DEBUG((CE_CONT, "intr_dist: cpu %2d weight %3d: "
751 * Add or remove the the weight of a device from a CPUs interrupt weight.
765 * An established device weight (from dev_info node) takes precedence over
766 * the weight passed in. If a device weight is not already established
767 * then the passed in nexus weight is established.
776 * For non-weighted policy everything has weight of zero (and we get
787 INTR_DEBUG((CE_CONT, "intr_dist: cpu %2d weight %3d: +%2d/%2d for "
793 /* if no establish weight, establish nexus weight */
800 nweight = eweight; /* use established weight */
816 int32_t weight;
822 /* remove weight of device from cpu */
823 weight = i_ddi_get_intr_weight(dip);
824 if (weight < 0)
825 weight = 0;
826 INTR_DEBUG((CE_CONT, "intr_dist: cpu %2d weight %3d: -%2d for "
827 "%s#%d/%s#%d\n", cpuid, cpu[cpuid]->cpu_intr_weight, weight,
835 cp->cpu_intr_weight -= weight;