Lines Matching refs:pq

1421 	struct xfrm_policy_queue *pq = &old->polq;  in xfrm_policy_requeue()  local
1424 if (skb_queue_empty(&pq->hold_queue)) in xfrm_policy_requeue()
1429 spin_lock_bh(&pq->hold_queue.lock); in xfrm_policy_requeue()
1430 skb_queue_splice_init(&pq->hold_queue, &list); in xfrm_policy_requeue()
1431 if (del_timer(&pq->hold_timer)) in xfrm_policy_requeue()
1433 spin_unlock_bh(&pq->hold_queue.lock); in xfrm_policy_requeue()
1435 pq = &new->polq; in xfrm_policy_requeue()
1437 spin_lock_bh(&pq->hold_queue.lock); in xfrm_policy_requeue()
1438 skb_queue_splice(&list, &pq->hold_queue); in xfrm_policy_requeue()
1439 pq->timeout = XFRM_QUEUE_TMO_MIN; in xfrm_policy_requeue()
1440 if (!mod_timer(&pq->hold_timer, jiffies)) in xfrm_policy_requeue()
1442 spin_unlock_bh(&pq->hold_queue.lock); in xfrm_policy_requeue()
2756 struct xfrm_policy_queue *pq = &pol->polq; in xfrm_policy_queue_process() local
2761 spin_lock(&pq->hold_queue.lock); in xfrm_policy_queue_process()
2762 skb = skb_peek(&pq->hold_queue); in xfrm_policy_queue_process()
2764 spin_unlock(&pq->hold_queue.lock); in xfrm_policy_queue_process()
2775 spin_unlock(&pq->hold_queue.lock); in xfrm_policy_queue_process()
2785 if (pq->timeout >= XFRM_QUEUE_TMO_MAX) in xfrm_policy_queue_process()
2788 pq->timeout = pq->timeout << 1; in xfrm_policy_queue_process()
2789 if (!mod_timer(&pq->hold_timer, jiffies + pq->timeout)) in xfrm_policy_queue_process()
2798 spin_lock(&pq->hold_queue.lock); in xfrm_policy_queue_process()
2799 pq->timeout = 0; in xfrm_policy_queue_process()
2800 skb_queue_splice_init(&pq->hold_queue, &list); in xfrm_policy_queue_process()
2801 spin_unlock(&pq->hold_queue.lock); in xfrm_policy_queue_process()
2831 pq->timeout = 0; in xfrm_policy_queue_process()
2832 skb_queue_purge(&pq->hold_queue); in xfrm_policy_queue_process()
2842 struct xfrm_policy_queue *pq = &pol->polq; in xdst_queue_output() local
2849 if (pq->hold_queue.qlen > XFRM_MAX_QUEUE_LEN) { in xdst_queue_output()
2856 spin_lock_bh(&pq->hold_queue.lock); in xdst_queue_output()
2858 if (!pq->timeout) in xdst_queue_output()
2859 pq->timeout = XFRM_QUEUE_TMO_MIN; in xdst_queue_output()
2861 sched_next = jiffies + pq->timeout; in xdst_queue_output()
2863 if (del_timer(&pq->hold_timer)) { in xdst_queue_output()
2864 if (time_before(pq->hold_timer.expires, sched_next)) in xdst_queue_output()
2865 sched_next = pq->hold_timer.expires; in xdst_queue_output()
2869 __skb_queue_tail(&pq->hold_queue, skb); in xdst_queue_output()
2870 if (!mod_timer(&pq->hold_timer, sched_next)) in xdst_queue_output()
2873 spin_unlock_bh(&pq->hold_queue.lock); in xdst_queue_output()