Lines Matching refs:poll_ctx
485 struct sync_kloop_poll_ctx *poll_ctx = in sync_kloop_poll_table_queue_proc() local
487 struct sync_kloop_poll_entry *entry = poll_ctx->entries + in sync_kloop_poll_table_queue_proc()
488 poll_ctx->next_entry; in sync_kloop_poll_table_queue_proc()
490 BUG_ON(poll_ctx->next_entry >= poll_ctx->num_entries); in sync_kloop_poll_table_queue_proc()
494 if (poll_ctx->next_wake_fun == NULL) { in sync_kloop_poll_table_queue_proc()
498 poll_ctx->next_wake_fun); in sync_kloop_poll_table_queue_proc()
521 struct sync_kloop_poll_ctx *poll_ctx = entry->parent; in sync_kloop_tx_irq_wake_fun() local
524 for (i = 0; i < poll_ctx->num_tx_rings; i++) { in sync_kloop_tx_irq_wake_fun()
525 struct eventfd_ctx *irq_ctx = poll_ctx->entries[i].irq_ctx; in sync_kloop_tx_irq_wake_fun()
553 struct sync_kloop_poll_ctx *poll_ctx = entry->parent; in sync_kloop_rx_irq_wake_fun() local
556 for (i = poll_ctx->num_tx_rings; i < poll_ctx->num_rings; i++) { in sync_kloop_rx_irq_wake_fun()
557 struct eventfd_ctx *irq_ctx = poll_ctx->entries[i].irq_ctx; in sync_kloop_rx_irq_wake_fun()
575 struct sync_kloop_poll_ctx *poll_ctx = NULL; in netmap_sync_kloop() local
707 poll_ctx = nm_os_malloc(sizeof(*poll_ctx) + in netmap_sync_kloop()
708 (num_rings + 2) * sizeof(poll_ctx->entries[0])); in netmap_sync_kloop()
709 init_poll_funcptr(&poll_ctx->wait_table, in netmap_sync_kloop()
711 poll_ctx->num_entries = 2 + num_rings; in netmap_sync_kloop()
712 poll_ctx->num_tx_rings = num_tx_rings; in netmap_sync_kloop()
713 poll_ctx->num_rings = num_rings; in netmap_sync_kloop()
714 poll_ctx->next_entry = 0; in netmap_sync_kloop()
715 poll_ctx->next_wake_fun = NULL; in netmap_sync_kloop()
727 poll_ctx->entries[i].args = args + i; in netmap_sync_kloop()
728 poll_ctx->entries[i].parent = poll_ctx; in netmap_sync_kloop()
733 for (i = 0; i < num_rings; i++, poll_ctx->next_entry++) { in netmap_sync_kloop()
752 poll_ctx->entries[i].irq_filp = filp; in netmap_sync_kloop()
753 poll_ctx->entries[i].irq_ctx = irq; in netmap_sync_kloop()
754 poll_ctx->entries[i].args->busy_wait = busy_wait; in netmap_sync_kloop()
757 poll_ctx->entries[i].args->irq_ctx = in netmap_sync_kloop()
760 poll_ctx->entries[i].irq_ctx; in netmap_sync_kloop()
761 poll_ctx->entries[i].args->direct = in netmap_sync_kloop()
776 poll_ctx->next_wake_fun = in netmap_sync_kloop()
780 poll_ctx->next_wake_fun = in netmap_sync_kloop()
783 poll_ctx->next_wake_fun = NULL; in netmap_sync_kloop()
786 &poll_ctx->wait_table); in netmap_sync_kloop()
801 poll_ctx->next_wake_fun = direct_tx ? in netmap_sync_kloop()
804 &poll_ctx->wait_table); in netmap_sync_kloop()
805 poll_ctx->next_entry++; in netmap_sync_kloop()
807 poll_ctx->next_wake_fun = direct_rx ? in netmap_sync_kloop()
810 &poll_ctx->wait_table); in netmap_sync_kloop()
811 poll_ctx->next_entry++; in netmap_sync_kloop()
871 if (poll_ctx) { in netmap_sync_kloop()
877 for (i = 0; i < poll_ctx->next_entry; i++) { in netmap_sync_kloop()
879 poll_ctx->entries + i; in netmap_sync_kloop()
893 nm_os_free(poll_ctx); in netmap_sync_kloop()
894 poll_ctx = NULL; in netmap_sync_kloop()