code: private void doPreemptionNow() {
      int totalShare = nodeManager.getAllocatedCpuForType(type);
      poolGroupManager.distributeShare(totalShare);
      for (PoolGroupSchedulable poolGroup : poolGroupManager.getPoolGroups()) {
        poolGroup.distributeShare();
      }
      int tasksToPreempt = countTasksShouldPreempt();
      if (tasksToPreempt > 0) {
        LOG.info("Found " + tasksToPreempt + " " + type + " tasks to preempt");
        preemptTasks(tasksToPreempt);
      }
    }
docs: Performs the preemption.