code: func (kl *Kubelet) killPod(pod *v1.Pod, runningPod *kubecontainer.Pod, status *kubecontainer.PodStatus, gracePeriodOverride *int64) error {
  	var p kubecontainer.Pod
  	if runningPod != nil {
  		p = *runningPod
  	} else if status != nil {
  		p = kubecontainer.ConvertPodStatusToRunningPod(kl.getRuntime().Type(), status)
  	} else {
  		return fmt.Errorf("one of the two arguments must be non-nil: runningPod, status")
  	}
  
  	// Call the container runtime KillPod method which stops all running containers of the pod
  	if err := kl.containerRuntime.KillPod(pod, p, gracePeriodOverride); err != nil {
  		return err
  	}
  	if err := kl.containerManager.UpdateQOSCgroups(); err != nil {
  		klog.V(2).Infof("Failed to update QoS cgroups while killing pod: %v", err)
  	}
  	return nil
  }
docs: // One of the following arguments must be non-nil: runningPod, status.
  // TODO: Modify containerRuntime.KillPod() to accept the right arguments.