code: func (p *PriorityQueue) Add(pod *v1.Pod) error {
  	p.lock.Lock()
  	defer p.lock.Unlock()
  	pInfo := p.newPodInfo(pod)
  	if err := p.activeQ.Add(pInfo); err != nil {
  		klog.Errorf("Error adding pod %v/%v to the scheduling queue: %v", pod.Namespace, pod.Name, err)
  		return err
  	}
  	if p.unschedulableQ.get(pod) != nil {
  		klog.Errorf("Error: pod %v/%v is already in the unschedulable queue.", pod.Namespace, pod.Name)
  		p.unschedulableQ.delete(pod)
  	}
  	// Delete pod from backoffQ if it is backing off
  	if err := p.podBackoffQ.Delete(pInfo); err == nil {
  		klog.Errorf("Error: pod %v/%v is already in the podBackoff queue.", pod.Namespace, pod.Name)
  	}
  	p.nominatedPods.add(pod, "")
  	p.cond.Broadcast()
  
  	return nil
  }
docs: // Add adds a pod to the active queue. It should be called only when a new pod
  // is added so there is no chance the pod is already in active/unschedulable/backoff queues