From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=b6Cgv5fj; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id 3C1AA5A0285 for ; Wed, 09 Jul 2025 19:48:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752083291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TJzc7Mf2RGKwo5IGE/gb1hgHjJ9STlGRNA5Qciu1FhY=; b=b6Cgv5fjJXoHp3+eEHdH/VJhXAmUer2L42akUNxkDPl226gWO2QPSUbTQdzbTrXMPCpeUt IpqyKKMR7bCJllMj2Hx4J91oYHNw+dxBTA8SkrLgLFYlvp3VMXRM+erhqFVxbMey+Vmp9B nM/bcHpcZQi0X0XsgVfkbkfctr2Fy1w= Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-573-5s8RLT6hP-ynR48emuBKBg-1; Wed, 09 Jul 2025 13:48:09 -0400 X-MC-Unique: 5s8RLT6hP-ynR48emuBKBg-1 X-Mimecast-MFC-AGG-ID: 5s8RLT6hP-ynR48emuBKBg_1752083289 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 059561955D4E for ; Wed, 9 Jul 2025 17:48:09 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.45.225.131]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CEFDC30001B1; Wed, 9 Jul 2025 17:48:07 +0000 (UTC) From: =?UTF-8?q?Eugenio=20P=C3=A9rez?= To: passt-dev@passt.top Subject: [RFC v2 10/11] tap: add poll(2) to used_idx Date: Wed, 9 Jul 2025 19:47:47 +0200 Message-ID: <20250709174748.3514693-11-eperezma@redhat.com> In-Reply-To: <20250709174748.3514693-1-eperezma@redhat.com> References: <20250709174748.3514693-1-eperezma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: CKOMuTkKg6kYvwZRUdngnlLkMG_Ohn2_i9pw0-aqF_w_1752083289 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: UAYTGLJGB3HRV5RTD7UX3VC5XW6EH4TQ X-Message-ID-Hash: UAYTGLJGB3HRV5RTD7UX3VC5XW6EH4TQ X-MailFrom: eperezma@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: jasowang@redhat.com X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: RnJvbSB+MTNHYml0L3MgdG8gfjExLjVHYml0L3MuDQoNClRPRE86IE1heWJlIHdlIGNhbiByZXVz ZSBlcG9sbCBmb3IgdGhpcywgbm90IG5lZWRpbmcgdG8gaW50cm9kdWNlIGEgbmV3DQpzeXNjYWxs Lg0KDQpTaWduZWQtb2ZmLWJ5OiBFdWdlbmlvIFDDqXJleiA8ZXBlcmV6bWFAcmVkaGF0LmNvbT4N Ci0tLQ0KIHRhcC5jICAgICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0NCiB0YXAuaCAgICAgfCAgMiArLQ0KIHRjcF9idWYuYyB8ICA2 ICsrKy0tLQ0KIDMgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25z KC0pDQoNCmRpZmYgLS1naXQgYS90YXAuYyBiL3RhcC5jDQppbmRleCA1NTM1N2UzLi45M2E4YzEy IDEwMDY0NA0KLS0tIGEvdGFwLmMNCisrKyBiL3RhcC5jDQpAQCAtMTksNiArMTksNyBAQA0KICNp bmNsdWRlIDxzdGRpby5oPg0KICNpbmNsdWRlIDxlcnJuby5oPg0KICNpbmNsdWRlIDxsaW1pdHMu aD4NCisjaW5jbHVkZSA8cG9sbC5oPg0KICNpbmNsdWRlIDxzdHJpbmcuaD4NCiAjaW5jbHVkZSA8 bmV0L2V0aGVybmV0Lmg+DQogI2luY2x1ZGUgPG5ldC9pZi5oPg0KQEAgLTEyMCw3ICsxMjEsNyBA QCBzdGF0aWMgUEFDS0VUX1BPT0xfTk9JTklUKHBvb2xfdGFwNiwgVEFQX01TR1NfSVA2LCBwa3Rf YnVmKTsNCiAjZGVmaW5lIFZIT1NUX05ERVNDUyAoUEtUX0JVRl9CWVRFUyAvIDY1NTIwKQ0KIHN0 YXRpY19hc3NlcnQoIShWSE9TVF9OREVTQ1MgJiAoVkhPU1RfTkRFU0NTIC0gMSkpLA0KIAkJCSAi TnVtYmVyIG9mIHZob3N0IGRlc2NzIG11c3QgYmUgYSBwb3dlciBvZiB0d28gYnkgc3RhbmRhcmQi KTsNCi1zdGF0aWMgc3RydWN0IHsNCitzdGF0aWMgc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSB7DQog CS8qIERlc2NyaXB0b3IgaW5kZXggd2UncmUgdXNpbmcuIFRoaXMgaXMgbm90IHRoZSBzYW1lIGFz IGF2YWlsIGlkeCBpbg0KIAkgKiBzcGxpdDogdGhpcyB0YWtlcyBpbnRvIGFjY291bnQgdGhlIGNo YWluZWQgZGVzY3MgKi8NCiAJdWludDE2X3QgdnJpbmdfaWR4Ow0KQEAgLTQ3MiwyNiArNDczLDYz IEBAIHN0YXRpYyB2b2lkIHZob3N0X2tpY2soc3RydWN0IHZyaW5nX3VzZWQgKnVzZWQsIGludCBr aWNrX2ZkKSB7DQogCQlldmVudGZkX3dyaXRlKGtpY2tfZmQsIDEpOw0KIH0NCg0KKy8qDQorICog I3N5c2NhbGxzOnBhc3RhIHJlYWQgcG9sbA0KKyAqLw0KK3N0YXRpYyB1aW50MTZfdCB1c2VkX2lk eChzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwNCisJCQkgc3RydWN0IHZyaW5nX2F2YWlsICph dmFpbCwNCisJCQkgY29uc3Qgc3RydWN0IHZyaW5nX3VzZWQgKnVzZWQsIGludCBwb2xsZmQpDQor ew0KKwlzdHJ1Y3QgcG9sbGZkIGZkcyA9IHsgLmZkID0gcG9sbGZkLCAuZXZlbnRzID0gUE9MTElO IH07DQorCWludCByOw0KKw0KKwlpZiAodnEtPnNoYWRvd191c2VkX2lkeCA9PSB2cS0+bGFzdF91 c2VkX2lkeCkNCisJCXZxLT5zaGFkb3dfdXNlZF9pZHggPSBsZTE2dG9oKHVzZWQtPmlkeCk7DQor DQorCWlmICh2cS0+c2hhZG93X3VzZWRfaWR4ICE9IHZxLT5sYXN0X3VzZWRfaWR4IHx8IHBvbGxm ZCA8IDApDQorCQlyZXR1cm4gdnEtPnNoYWRvd191c2VkX2lkeDsNCisNCisJYXZhaWwtPmZsYWdz ICY9IH5odG9sZTE2KDFVTEwgPDwgVlJJTkdfQVZBSUxfRl9OT19JTlRFUlJVUFQpOw0KKwkvKiB0 cnVzdGluZyBzeXNjYWxsIGZvciBzbXBfd2IoKSAqLw0KKwlyID0gcmVhZChwb2xsZmQsICh1aW50 NjRfdFtdKXswfSwgc2l6ZW9mKHVpbnQ2NF90KSk7DQorCWFzc2VydCgociA8IDAgJiYgZXJybm8g PT0gRUFHQUlOKSB8fCByID09IDgpOw0KKw0KKwkvKiBBbm90aGVyIG9wb3J0dW5pdHkgYmVmb3Jl IHN5c2NhbGxzICovDQorCXZxLT5zaGFkb3dfdXNlZF9pZHggPSBsZTE2dG9oKHVzZWQtPmlkeCk7 DQorCWlmICh2cS0+c2hhZG93X3VzZWRfaWR4ICE9IHZxLT5sYXN0X3VzZWRfaWR4KSB7DQorCQly ZXR1cm4gdnFzLT5zaGFkb3dfdXNlZF9pZHg7DQorCX0NCisNCisJciA9IHBvbGwoJmZkcywgMSwg LTEpOw0KKwlhc3NlcnQgKDAgPCByKTsNCisJYXZhaWwtPmZsYWdzIHw9IGh0b2xlMTYoMVVMTCA8 PCBWUklOR19BVkFJTF9GX05PX0lOVEVSUlVQVCk7DQorCXZxLT5zaGFkb3dfdXNlZF9pZHggPSBs ZTE2dG9oKHVzZWQtPmlkeCk7DQorCXJldHVybiB2cS0+c2hhZG93X3VzZWRfaWR4Ow0KK30NCisN CiAvKiBuID0gdGFyZ2V0ICovDQotdm9pZCB0YXBfZnJlZV9vbGRfeG1pdChzaXplX3QgbikNCitz aXplX3QgdGFwX2ZyZWVfb2xkX3htaXQoY29uc3Qgc3RydWN0IGN0eCAqYywgc2l6ZV90IG4pDQog ew0KIAlzaXplX3QgciA9IDA7DQorCWludCBwb2xsZmQgPSAobiA9PSAoc2l6ZV90KS0xKSA/IC0x IDogYy0+dnFbMV0uY2FsbF9mZDsNCg0KIAl3aGlsZSAociA8IG4pIHsNCi0JCXVpbnQxNl90IHVz ZWRfaWR4ID0gdnFzWzFdLmxhc3RfdXNlZF9pZHg7DQotCQlpZiAodnFzWzFdLnNoYWRvd191c2Vk X2lkeCA9PSB1c2VkX2lkeCkgew0KLQkJICAgICAgIHZxc1sxXS5zaGFkb3dfdXNlZF9pZHggPSBs ZTE2dG9oKCoodm9sYXRpbGUgdWludDE2X3QqKSZ2cmluZ191c2VkXzEudXNlZC5pZHgpOw0KLQ0K LQkJICAgICAgIGlmICh2cXNbMV0uc2hhZG93X3VzZWRfaWR4ID09IHVzZWRfaWR4KQ0KLQkJCSAg ICAgICBjb250aW51ZTsNCisJCXVpbnQxNl90IGxhc3RfdXNlZCA9IHZxc1sxXS5sYXN0X3VzZWRf aWR4Ow0KKwkJaWYgKHVzZWRfaWR4KCZ2cXNbMV0sICZ2cmluZ19hdmFpbF8xLmF2YWlsLCAmdnJp bmdfdXNlZF8xLnVzZWQsIHBvbGxmZCkgPT0gbGFzdF91c2VkKSB7DQorCQkJYXNzZXJ0KHBvbGxm ZCA9PSAtMSk7DQorCQkJcmV0dXJuIHI7DQogCQl9DQoNCisJCS8qIE9ubHkgZ2V0IHVzZWQgYXJy YXkgZW50cmllcyBhZnRlciB0aGV5IGhhdmUgYmVlbiBleHBvc2VkIGJ5IHZob3N0LiAqLw0KKwkJ c21wX3JtYigpOw0KIAkJLyogYXNzZXJ0IGluLW9yZGVyICovDQotCQlhc3NlcnQodnJpbmdfdXNl ZF8xLnVzZWQucmluZ1t1c2VkX2lkeCAlIFZIT1NUX05ERVNDU10uaWQgPT0gdnJpbmdfYXZhaWxf MS5hdmFpbC5yaW5nW3VzZWRfaWR4ICUgVkhPU1RfTkRFU0NTXSk7DQotCQl2cXNbMV0ubnVtX2Zy ZWUgKz0gdnFzWzFdLm5kZXNjc1t1c2VkX2lkeCAlIFZIT1NUX05ERVNDU107DQorCQlhc3NlcnQo dnJpbmdfdXNlZF8xLnVzZWQucmluZ1tsYXN0X3VzZWQgJSBWSE9TVF9OREVTQ1NdLmlkID09IHZy aW5nX2F2YWlsXzEuYXZhaWwucmluZ1tsYXN0X3VzZWQgJSBWSE9TVF9OREVTQ1NdKTsNCisJCXZx c1sxXS5udW1fZnJlZSArPSB2cXNbMV0ubmRlc2NzW2xhc3RfdXNlZCAlIFZIT1NUX05ERVNDU107 DQogCQl2cXNbMV0ubGFzdF91c2VkX2lkeCsrOw0KIAkJcisrOw0KIAl9DQorDQorCXJldHVybiBy Ow0KIH0NCg0KIC8qKg0KQEAgLTE2ODcsNiArMTcyNSw3IEBAIHN0YXRpYyBpbnQgdGFwX25zX3R1 bih2b2lkICphcmcpDQogCQkJaWYgKHJjIDwgMCkNCiAJCQkJZGllX3BlcnJvcigiRmFpbGVkIHRv IGFkZCBjYWxsIGV2ZW50ZmQgdG8gZXBvbGwiKTsNCiAJCX0NCisJCWZwcmludGYoc3RkZXJyLCAi W2VwZXJlem1hICVzOiVkXVtpPSVkXVtjYWxsX2ZkPSVkXVxuIiwgX19mdW5jX18sIF9fTElORV9f LCBpLCBmaWxlLmZkKTsNCiAJCWMtPnZxW2ldLmNhbGxfZmQgPSBmaWxlLmZkOw0KDQogCQlmaWxl LmZkID0gZXZlbnRmZCgwLCBFRkRfTk9OQkxPQ0sgfCBFRkRfQ0xPRVhFQyk7DQpkaWZmIC0tZ2l0 IGEvdGFwLmggYi90YXAuaA0KaW5kZXggN2NhMGZiMC4uNzAwNDExNiAxMDA2NDQNCi0tLSBhL3Rh cC5oDQorKysgYi90YXAuaA0KQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIHRhcF9pY21wNl9zZW5k KGNvbnN0IHN0cnVjdCBjdHggKmMsDQogCQkgICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICpzcmMs IGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqZHN0LA0KIAkJICAgIGNvbnN0IHZvaWQgKmluLCBzaXpl X3QgbDRsZW4pOw0KIHZvaWQgdGFwX3NlbmRfc2luZ2xlKGNvbnN0IHN0cnVjdCBjdHggKmMsIGNv bnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsMmxlbiwgYm9vbCB2aG9zdCk7DQotdm9pZCB0YXBfZnJl ZV9vbGRfeG1pdChzaXplX3Qgbik7DQorc2l6ZV90IHRhcF9mcmVlX29sZF94bWl0KGNvbnN0IHN0 cnVjdCBjdHggKmMsIHNpemVfdCBuKTsNCiBzaXplX3QgdGFwX3NlbmRfZnJhbWVzKGNvbnN0IHN0 cnVjdCBjdHggKmMsIGNvbnN0IHN0cnVjdCBpb3ZlYyAqaW92LA0KIAkJICAgICAgIHNpemVfdCBi dWZzX3Blcl9mcmFtZSwgc2l6ZV90IG5mcmFtZXMsIGJvb2wgdmhvc3QpOw0KIHZvaWQgZXRoX3Vw ZGF0ZV9tYWMoc3RydWN0IGV0aGhkciAqZWgsDQpkaWZmIC0tZ2l0IGEvdGNwX2J1Zi5jIGIvdGNw X2J1Zi5jDQppbmRleCAwNDM3MTIwLi5mNzRkMjJkIDEwMDY0NA0KLS0tIGEvdGNwX2J1Zi5jDQor KysgYi90Y3BfYnVmLmMNCkBAIC0xMzcsMTAgKzEzNywxMCBAQCBzdGF0aWMgdm9pZCB0Y3BfcmV2 ZXJ0X3NlcShjb25zdCBzdHJ1Y3QgY3R4ICpjLCBzdHJ1Y3QgdGNwX3RhcF9jb25uICoqY29ubnMs DQogCX0NCiB9DQoNCi1zdGF0aWMgdm9pZCB0Y3BfYnVmX2ZyZWVfb2xkX3RhcF94bWl0KHZvaWQp DQorc3RhdGljIHZvaWQgdGNwX2J1Zl9mcmVlX29sZF90YXBfeG1pdChjb25zdCBzdHJ1Y3QgY3R4 ICpjKQ0KIHsNCiAJd2hpbGUgKHRjcF9wYXlsb2FkX3RhcF91c2VkKSB7DQotCQl0YXBfZnJlZV9v bGRfeG1pdCh0Y3BfcGF5bG9hZF90YXBfdXNlZCk7DQorCQl0YXBfZnJlZV9vbGRfeG1pdChjLCB0 Y3BfcGF5bG9hZF90YXBfdXNlZCk7DQoNCiAJCXRjcF9wYXlsb2FkX3RhcF91c2VkID0gMDsNCiAJ CXRjcF9wYXlsb2FkX3NvY2tfdXNlZCA9IDA7DQpAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgdGNw X3BheWxvYWRfZmx1c2goY29uc3Qgc3RydWN0IGN0eCAqYykNCiAJCQkgICAgICAgdGNwX3BheWxv YWRfc29ja191c2VkIC0gbSk7DQogCX0NCiAJdGNwX3BheWxvYWRfdGFwX3VzZWQgKz0gbTsNCi0J dGNwX2J1Zl9mcmVlX29sZF90YXBfeG1pdCgpOw0KKwl0Y3BfYnVmX2ZyZWVfb2xkX3RhcF94bWl0 KGMpOw0KIH0NCg0KIC8qKg0KLS0NCjIuNTAuMA0KDQo=