Lines Matching refs:pbd
510 void __v3_test_block_seq_num(struct block_desc *pbd)
512 if (__v3_prev_block_seq_num + 1 != pbd->h1.seq_num) {
516 (uint64_t) pbd->h1.seq_num);
520 __v3_prev_block_seq_num = pbd->h1.seq_num;
523 static void __v3_test_block_len(struct block_desc *pbd, uint32_t bytes, int block_num)
525 if (pbd->h1.num_pkts && bytes != pbd->h1.blk_len) {
528 pbd->h1.num_pkts, bytes, pbd->h1.blk_len);
533 static void __v3_test_block_header(struct block_desc *pbd, const int block_num)
535 if ((pbd->h1.block_status & TP_STATUS_USER) == 0) {
540 __v3_test_block_seq_num(pbd);
543 static void __v3_walk_block(struct block_desc *pbd, const int block_num)
545 int num_pkts = pbd->h1.num_pkts, i;
546 unsigned long bytes = 0, bytes_with_padding = ALIGN_8(sizeof(*pbd));
549 __v3_test_block_header(pbd, block_num);
551 ppd = (struct tpacket3_hdr *) ((uint8_t *) pbd +
552 pbd->h1.offset_to_first_pkt);
571 __v3_test_block_len(pbd, bytes_with_padding, block_num);
575 void __v3_flush_block(struct block_desc *pbd)
577 pbd->h1.block_status = TP_STATUS_KERNEL;
585 struct block_desc *pbd;
600 pbd = (struct block_desc *) ring->rd[block_num].iov_base;
602 while ((pbd->h1.block_status & TP_STATUS_USER) == 0)
605 __v3_walk_block(pbd, block_num);
606 __v3_flush_block(pbd);