From owner-freebsd-net@FreeBSD.ORG Tue Mar 24 09:27:00 2015 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7461072F; Tue, 24 Mar 2015 09:27:00 +0000 (UTC) Received: from work.netasq.com (gwlille.netasq.com [91.212.116.1]) by mx1.freebsd.org (Postfix) with ESMTP id 0C33B7EB; Tue, 24 Mar 2015 09:26:59 +0000 (UTC) Received: from work.netasq.com (localhost.localdomain [127.0.0.1]) by work.netasq.com (Postfix) with ESMTP id 45EA6270474B; Tue, 24 Mar 2015 10:26:52 +0100 (CET) Received: from localhost (localhost.localdomain [127.0.0.1]) by work.netasq.com (Postfix) with ESMTP id 0E26F2704752; Tue, 24 Mar 2015 10:26:52 +0100 (CET) Received: from work.netasq.com ([127.0.0.1]) by localhost (work.netasq.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id TbpOVUWV005O; Tue, 24 Mar 2015 10:26:51 +0100 (CET) Received: from work.netasq.com (localhost.localdomain [127.0.0.1]) by work.netasq.com (Postfix) with ESMTP id B641B270474D; Tue, 24 Mar 2015 10:26:51 +0100 (CET) Date: Tue, 24 Mar 2015 10:26:48 +0100 (CET) From: Emeric POUPON To: Adrian Chadd Message-ID: <1776547746.25937476.1427189208729.JavaMail.zimbra@stormshield.eu> In-Reply-To: References: <522774578.25519037.1426765109046.JavaMail.zimbra@stormshield.eu> <550AC709.1050404@selasky.org> <2047974073.25663527.1426858267777.JavaMail.zimbra@stormshield.eu> <550C5FC6.6020401@selasky.org> <550C6D65.6070409@selasky.org> Subject: Re: Fragment questions MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_25937470_1392766137.1427189208673" Thread-Topic: Fragment questions Thread-Index: s2THZGbL/tddgKH3O963gPdstiWmpA== Cc: Hans Petter Selasky , freebsd-net X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Mar 2015 09:27:00 -0000 ------=_Part_25937470_1392766137.1427189208673 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, Please find attached a proposal using atomic_fetchadd. Best Regards, Emeric ----- Mail original ----- De: "Adrian Chadd" =C3=80: "Hans Petter Selasky" Cc: "Emeric POUPON" , "freebsd-net" Envoy=C3=A9: Vendredi 20 Mars 2015 20:04:44 Objet: Re: Fragment questions On 20 March 2015 at 11:56, Hans Petter Selasky wrote: > On 03/20/15 19:02, Adrian Chadd wrote: >> >> On 20 March 2015 at 10:58, Hans Petter Selasky wrote: >>> >>> On 03/20/15 14:31, Emeric POUPON wrote: >>>> >>>> >>>> - in the ip_newid macro, we do "htons(V_ip_id++))" if we do not use >>>> randomized id. >>> >>> >>>> In multi core systems, we may emit successive packets with the same id= . >>> >>> >>> Will using a mutex or an atomic macro fix this issue when incrementing >>> the >>> V_ip_id ? >> >> >> It will, but it'll ping-pong between multiple cores and slow things >> down at high pps. >> > > Hi, > > Maybe we can have the V_ip_id per CPU and use the lower 8-bits as random = CPU > core number? Hm, someone with more cycles to spend on analysing the repercussions from this should investigate it. I think in the short term using an atomic is fine, as it's no worse than what is currently there. But as we get more PPS unlocked and happening we may need to fix it. -adrian ------=_Part_25937470_1392766137.1427189208673 Content-Type: text/x-patch; name=patch-ip_id-atomic-fetchadd Content-Disposition: attachment; filename=patch-ip_id-atomic-fetchadd Content-Transfer-Encoding: base64 LS0tIHN5cy9uZXRpbmV0L2lwX3Zhci5oLm9yaWcJMjAxNS0wMy0yMyAxNzo1Nzo0MC42MDEwNzIy MDAgKzAxMDAKKysrIHN5cy9uZXRpbmV0L2lwX3Zhci5oCTIwMTUtMDMtMjMgMTc6NTg6MzEuMDkz NzE1MTc3ICswMTAwCkBAIC0xNzQsNyArMTc0LDcgQEAgc3RydWN0IGlucGNiOwogc3RydWN0IHJv dXRlOwogc3RydWN0IHNvY2tvcHQ7CiAKLVZORVRfREVDTEFSRSh1X3Nob3J0LCBpcF9pZCk7CQkJ LyogaXAgcGFja2V0IGN0ciwgZm9yIGlkcyAqLworVk5FVF9ERUNMQVJFKHVfaW50MzJfdCwgaXBf aWQpOwkJCS8qIGlwIHBhY2tldCBjdHIsIGZvciBpZHMgKi8KIFZORVRfREVDTEFSRShpbnQsIGlw X2RlZnR0bCk7CQkJLyogZGVmYXVsdCBJUCB0dGwgKi8KIFZORVRfREVDTEFSRShpbnQsIGlwZm9y d2FyZGluZyk7CQkvKiBpcCBmb3J3YXJkaW5nICovCiAjaWZkZWYgSVBTVEVBTFRICkBAIC0zMDYs NyArMzA2LDcgQEAgZXh0ZXJuIGludAkoKmlwX2RuX2lvX3B0cikoc3RydWN0IG1idWYgKgogVk5F VF9ERUNMQVJFKGludCwgaXBfZG9fcmFuZG9taWQpOwogI2RlZmluZQlWX2lwX2RvX3JhbmRvbWlk CVZORVQoaXBfZG9fcmFuZG9taWQpCiAjZGVmaW5lCWlwX25ld2lkKCkJKChWX2lwX2RvX3JhbmRv bWlkICE9IDApID8gaXBfcmFuZG9taWQoKSA6IFwKLQkJCSAgICBodG9ucyhWX2lwX2lkKyspKQor CQkJICAgIGh0b25zKGF0b21pY19mZXRjaGFkZF8zMigmVl9pcF9pZCwgMSkgJiAweEZGRkYpKQog CiAjZW5kaWYgLyogX0tFUk5FTCAqLwogCi0tLSBzeXMvbmV0aW5ldC9pcF9vdXRwdXQuYy5vcmln CTIwMTUtMDMtMjMgMTc6NTc6NDYuNTE0NDk4ODQ2ICswMTAwCisrKyBzeXMvbmV0aW5ldC9pcF9v dXRwdXQuYwkyMDE1LTAzLTIzIDE3OjU4OjUyLjEyNDQyNjc2MCArMDEwMApAQCAtOTEsNyArOTEs NyBAQCBfX0ZCU0RJRCgiJEZyZWVCU0Q6IGhlYWQvc3lzL25ldGluZXQvaXBfCiAKICNpbmNsdWRl IDxzZWN1cml0eS9tYWMvbWFjX2ZyYW1ld29yay5oPgogCi1WTkVUX0RFRklORSh1X3Nob3J0LCBp cF9pZCk7CitWTkVUX0RFRklORSh1X2ludDMyX3QsIGlwX2lkKTsKIAogI2lmZGVmIE1CVUZfU1RS RVNTX1RFU1QKIHN0YXRpYyBpbnQgbWJ1Zl9mcmFnX3NpemUgPSAwOwo= ------=_Part_25937470_1392766137.1427189208673--