Date: Thu, 7 Nov 2013 15:30:01 GMT From: "Julien Charbon" <jcharbon@verisign.com> To: freebsd-net@FreeBSD.org Subject: Re: kern/183659: [tcp] [patch] TCP stack lock contention with short-lived connections Message-ID: <201311071530.rA7FU1KI044905@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/183659; it has been noted by GNATS. From: "Julien Charbon" <jcharbon@verisign.com> To: bug-followup@freebsd.org Cc: Subject: Re: kern/183659: [tcp] [patch] TCP stack lock contention with short-lived connections Date: Thu, 07 Nov 2013 15:09:12 +0100 ------------DUpEMRBHJWbgn0J5PBi2Pu Content-Type: text/plain; charset=iso-8859-15; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Joined a first patch that removes INP_INFO lock from tcp_usr_accept(): This changes simply follows the advice made in corresponding code comment: "A better fix would prevent the socket from being placed in the listen queue until all fields are fully initialized." For more technical details, check the comment in related change below: http://svnweb.freebsd.org/base?view=revision&revision=175612 With this patch applied we see no regressions and a performance improvement of ~5% i.e with 9.2 vanilla kernel: 52k TCP Queries Per Second, with 9.2 + joined patch: 55k TCP QPS. -- Julien ------------DUpEMRBHJWbgn0J5PBi2Pu Content-Disposition: attachment; filename=inp-info-accept.patch Content-Type: application/octet-stream; name=inp-info-accept.patch Content-Transfer-Encoding: Base64 RnJvbTogSnVsaWVuIENoYXJib24gPGpjaGFyYm9uQHZlcmlzaWduLmNvbT4NClN1 YmplY3Q6IFtQQVRDSF0gQWRkIG5ldyBzb2NrZXQgaW4gbGlzdGVuIHF1ZXVlIG9u bHkgd2hlbiBmdWxseSBpbml0aWFsaXNlZA0KDQotLS0NCiBzeXMvbmV0aW5ldC90 Y3Bfc3luY2FjaGUuYyB8IDQgKysrLQ0KIHN5cy9uZXRpbmV0L3RjcF91c3JyZXEu YyAgIHwgOSAtLS0tLS0tLS0NCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgMTAgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5l dC90Y3Bfc3luY2FjaGUuYyBiL3N5cy9uZXRpbmV0L3RjcF9zeW5jYWNoZS5jDQpp bmRleCBhZjE2NTFhLi5lYjczMzU2IDEwMDY0NA0KLS0tIGEvc3lzL25ldGluZXQv dGNwX3N5bmNhY2hlLmMNCisrKyBiL3N5cy9uZXRpbmV0L3RjcF9zeW5jYWNoZS5j DQpAQCAtNjYwLDcgKzY2MCw3IEBAIHN5bmNhY2hlX3NvY2tldChzdHJ1Y3Qgc3lu Y2FjaGUgKnNjLCBzdHJ1Y3Qgc29ja2V0ICpsc28sIHN0cnVjdCBtYnVmICptKQ0K IAkgKiBjb25uZWN0aW9uIHdoZW4gdGhlIFNZTiBhcnJpdmVkLiAgSWYgd2UgY2Fu J3QgY3JlYXRlDQogCSAqIHRoZSBjb25uZWN0aW9uLCBhYm9ydCBpdC4NCiAJICov DQotCXNvID0gc29uZXdjb25uKGxzbywgU1NfSVNDT05ORUNURUQpOw0KKwlzbyA9 IHNvbmV3Y29ubihsc28sIDApOw0KIAlpZiAoc28gPT0gTlVMTCkgew0KIAkJLyoN CiAJCSAqIERyb3AgdGhlIGNvbm5lY3Rpb247IHdlIHdpbGwgZWl0aGVyIHNlbmQg YSBSU1Qgb3INCkBAIC04OTAsNiArODkwLDggQEAgc3luY2FjaGVfc29ja2V0KHN0 cnVjdCBzeW5jYWNoZSAqc2MsIHN0cnVjdCBzb2NrZXQgKmxzbywgc3RydWN0IG1i dWYgKm0pDQogDQogCUlOUF9XVU5MT0NLKGlucCk7DQogDQorCXNvaXNjb25uZWN0 ZWQoc28pOw0KKw0KIAlUQ1BTVEFUX0lOQyh0Y3BzX2FjY2VwdHMpOw0KIAlyZXR1 cm4gKHNvKTsNCiANCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC90Y3BfdXNycmVx LmMgYi9zeXMvbmV0aW5ldC90Y3BfdXNycmVxLmMNCmluZGV4IGI4M2YzNGEuLjU2 NmNjMzQgMTAwNjQ0DQotLS0gYS9zeXMvbmV0aW5ldC90Y3BfdXNycmVxLmMNCisr KyBiL3N5cy9uZXRpbmV0L3RjcF91c3JyZXEuYw0KQEAgLTYwOSwxMyArNjA5LDYg QEAgb3V0Og0KIC8qDQogICogQWNjZXB0IGEgY29ubmVjdGlvbi4gIEVzc2VudGlh bGx5IGFsbCB0aGUgd29yayBpcyBkb25lIGF0IGhpZ2hlciBsZXZlbHM7DQogICog anVzdCByZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhlIHBlZXIsIHN0b3JpbmcgdGhy b3VnaCBhZGRyLg0KLSAqDQotICogVGhlIHJhdGlvbmFsZSBmb3IgYWNxdWlyaW5n IHRoZSB0Y2JpbmZvIGxvY2sgaGVyZSBpcyBzb21ld2hhdCBjb21wbGljYXRlZCwN Ci0gKiBhbmQgaXMgZGVzY3JpYmVkIGluIGRldGFpbCBpbiB0aGUgY29tbWl0IGxv ZyBlbnRyeSBmb3IgcjE3NTYxMi4gIEFjcXVpcmluZw0KLSAqIGl0IGRlbGF5cyBh biBhY2NlcHQoMikgcmFjaW5nIHdpdGggc29uZXdjb25uKCksIHdoaWNoIGluc2Vy dHMgdGhlIHNvY2tldA0KLSAqIGJlZm9yZSB0aGUgaW5wY2IgYWRkcmVzcy9wb3J0 IGZpZWxkcyBhcmUgaW5pdGlhbGl6ZWQuICBBIGJldHRlciBmaXggd291bGQNCi0g KiBwcmV2ZW50IHRoZSBzb2NrZXQgZnJvbSBiZWluZyBwbGFjZWQgaW4gdGhlIGxp c3RlbiBxdWV1ZSB1bnRpbCBhbGwgZmllbGRzDQotICogYXJlIGZ1bGx5IGluaXRp YWxpemVkLg0KICAqLw0KIHN0YXRpYyBpbnQNCiB0Y3BfdXNyX2FjY2VwdChzdHJ1 Y3Qgc29ja2V0ICpzbywgc3RydWN0IHNvY2thZGRyICoqbmFtKQ0KQEAgLTYzMiw3 ICs2MjUsNiBAQCB0Y3BfdXNyX2FjY2VwdChzdHJ1Y3Qgc29ja2V0ICpzbywgc3Ry dWN0IHNvY2thZGRyICoqbmFtKQ0KIA0KIAlpbnAgPSBzb3RvaW5wY2Ioc28pOw0K IAlLQVNTRVJUKGlucCAhPSBOVUxMLCAoInRjcF91c3JfYWNjZXB0OiBpbnAgPT0g TlVMTCIpKTsNCi0JSU5QX0lORk9fUkxPQ0soJlZfdGNiaW5mbyk7DQogCUlOUF9X TE9DSyhpbnApOw0KIAlpZiAoaW5wLT5pbnBfZmxhZ3MgJiAoSU5QX1RJTUVXQUlU IHwgSU5QX0RST1BQRUQpKSB7DQogCQllcnJvciA9IEVDT05OQUJPUlRFRDsNCkBA IC02NTIsNyArNjQ0LDYgQEAgdGNwX3Vzcl9hY2NlcHQoc3RydWN0IHNvY2tldCAq c28sIHN0cnVjdCBzb2NrYWRkciAqKm5hbSkNCiBvdXQ6DQogCVRDUERFQlVHMihQ UlVfQUNDRVBUKTsNCiAJSU5QX1dVTkxPQ0soaW5wKTsNCi0JSU5QX0lORk9fUlVO TE9DSygmVl90Y2JpbmZvKTsNCiAJaWYgKGVycm9yID09IDApDQogCQkqbmFtID0g aW5fc29ja2FkZHIocG9ydCwgJmFkZHIpOw0KIAlyZXR1cm4gZXJyb3I7 ------------DUpEMRBHJWbgn0J5PBi2Pu--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311071530.rA7FU1KI044905>