Open
Bug 286635
Opened 20 years ago
Updated 2 years ago
Performance optimizations in libssl
Categories
(NSS :: Libraries, defect, P3)
Tracking
(Not tracked)
NEW
People
(Reporter: julien.pierre, Unassigned)
Details
Attachments
(8 files)
|
5.51 KB,
patch
|
Details | Diff | Splinter Review | |
|
778 bytes,
patch
|
Details | Diff | Splinter Review | |
|
668 bytes,
patch
|
Details | Diff | Splinter Review | |
|
688 bytes,
patch
|
Details | Diff | Splinter Review | |
|
916 bytes,
patch
|
Details | Diff | Splinter Review | |
|
2.63 KB,
patch
|
Details | Diff | Splinter Review | |
|
1.25 KB,
patch
|
Details | Diff | Splinter Review | |
|
1.18 KB,
patch
|
Details | Diff | Splinter Review |
After analyzing runtime code paths with dtrace, I came up with some quick and dirty optimizations to accelerate libssl . I will attach a set of patches for them. Most of those patches delete code that I deemed unnecessary for benchmarking. They would need to be cleaned up to make that code optional. They are not currently ready for checkin by any means, but I wanted to have a record of them.
| Reporter | ||
Comment 1•20 years ago
|
||
This patch removes the creation, deletion, and use of locks on SSL sockets. These locks aren't strictly necessary. They are mostly there to avoid crashes for applications that share sockets between multiple threads, and for full-duplex operation. We should have a way for an application to turn these locks off.
| Reporter | ||
Comment 2•20 years ago
|
||
This is a quick and dirty hack to prevent RSA stepdown key creation. The reason it improves SSL server performance is that those stepdown keys get duplicated on every socket if they exist in the model or listen socket. Avoiding their creation is thus a big win. The proper fix is to resolve bug 148452 .
| Reporter | ||
Comment 3•20 years ago
|
||
This is a quick and dirty hack for bug 285525
| Reporter | ||
Comment 4•20 years ago
|
||
Quick fix for bug 283763
| Reporter | ||
Comment 5•20 years ago
|
||
These SECItems don't appear to be used in the SSL server codepath . Avoid copying them.
| Reporter | ||
Comment 6•20 years ago
|
||
Better fix for bug 283763
| Reporter | ||
Comment 7•20 years ago
|
||
It should be possible to just refer to the cert list from the model/listen socket, with slight semantic changes, rather than copying it and destrying it for every socket. This patch just removes the copy. It's obviously not correct, but that was done to measure the performance win.
| Reporter | ||
Comment 8•20 years ago
|
||
This isn't really safe to do if the application gets rid of the model socket before the connection sockets. But we should have a way to avoid the copy. Maybe lock the model/listen socket to read-only, and refcount it.
Updated•20 years ago
|
QA Contact: bishakhabanerjee → jason.m.reid
Updated•19 years ago
|
QA Contact: jason.m.reid → libraries
Comment 9•18 years ago
|
||
Some of the above ideas were implemented in NSS 3.11. The rest of these ideas can wait for the next big performance push.
Priority: -- → P3
Comment 10•2 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.
Assignee: nelson → nobody
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•