Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Only let reindexing puts through locked bucket if their token matches that ↵ | Tor Brede Vekterli | 2020-12-11 | 3 | -0/+25 |
| | | | | | | | | | | | of the lock Avoids race condition edge case where reindexing puts from an outdated visitor may pass through a bucket lock intended for a newly created visitor operation Tokens are 128-bit values derived from a CSPRNG, so uniqueness is for all intents and purposes guaranteed. | ||||
* | Simplify simple method to find next hashtable size. | Henning Baldersheim | 2020-12-07 | 2 | -23/+6 |
| | |||||
* | some more shared string repo experiments | Håvard Pettersen | 2020-12-07 | 3 | -30/+165 |
| | | | | | | | | | - use linked free list - wait with string overwrite until re-use - benchmark copy+hash and local-enum as well - experiment with hashtable force_insert - also benchmark strong/weak handle containers - benchmark for longer, since there are many things | ||||
* | Use Select1st | Henning Baldersheim | 2020-12-07 | 1 | -7/+3 |
| | |||||
* | Expect that all are present after resize too. | Henning Baldersheim | 2020-12-07 | 1 | -1/+8 |
| | |||||
* | Add a force_insert method to the hash_table. It is faster as it skips the ↵ | Henning Baldersheim | 2020-12-07 | 3 | -3/+71 |
| | | | | | | | presence check and avoid equality compare. It allows duplicates and should hence be used carefully. At least resize will be faster as it it can safely be used there. | ||||
* | Merge pull request #15708 from vespa-engine/havardpe/avoid-extra-check | Henning Baldersheim | 2020-12-07 | 1 | -4/+1 |
|\ | | | | | avoid unneeded check | ||||
| * | avoid unneeded check | Håvard Pettersen | 2020-12-07 | 1 | -4/+1 |
| | | |||||
* | | Merge pull request #15695 from vespa-engine/balder/optional-wakeup-handling | Henning Baldersheim | 2020-12-07 | 2 | -2/+11 |
|\ \ | | | | | | | Only handle wakeup if necessary. | ||||
| * | | Only handle wakeup if necessary. | Henning Baldersheim | 2020-12-05 | 2 | -2/+11 |
| | | | |||||
* | | | Some -std=c++20a fixes: | Arne Juul | 2020-12-06 | 1 | -1/+1 |
|/ / | | | | | | | | | | | | | add noexcept de-inline destructor avoid comparison warning (and revert changes already made in another branch) | ||||
* / | Add noexcept specifiers to non-throwing constructors and operators. | Tor Egge | 2020-12-05 | 3 | -4/+4 |
|/ | |||||
* | Add missing includes. Fix format string. | Tor Egge | 2020-12-04 | 2 | -0/+2 |
| | |||||
* | Merge pull request #15667 from ↵ | Henning Baldersheim | 2020-12-04 | 1 | -0/+2 |
|\ | | | | | | | | | vespa-engine/toregge/remove-unneeded-operators-for-string-compare Remove unneeded operators for string compare. | ||||
| * | Remove unneeded operators for string compare. | Tor Egge | 2020-12-04 | 1 | -0/+2 |
| | | |||||
* | | Add noexcept specifier to non-throwing member functions. | Tor Egge | 2020-12-04 | 1 | -1/+1 |
|/ | |||||
* | Use std::atomic. | Tor Egge | 2020-12-03 | 2 | -19/+21 |
| | |||||
* | Don't increment or decrement volatile variables. It is deprecated | Tor Egge | 2020-12-03 | 2 | -8/+8 |
| | | | | when using C++20. | ||||
* | Be explicit wether size is give or not | Henning Baldersheim | 2020-12-02 | 4 | -3/+15 |
| | |||||
* | Allocate once with the correct size | Henning Baldersheim | 2020-12-02 | 2 | -26/+37 |
| | |||||
* | Put the next link at the end to allow closer packing if alignment allows. | Henning Baldersheim | 2020-12-02 | 1 | -5/+5 |
| | |||||
* | Make it compatible with c++2a | Henning Baldersheim | 2020-12-02 | 2 | -10/+15 |
| | |||||
* | We must keep the handling in the selector still. | Henning Baldersheim | 2020-11-30 | 1 | -0/+1 |
| | |||||
* | Simplify and use a single events_before_wakup number in the transport thread ↵ | Henning Baldersheim | 2020-11-30 | 1 | -1/+0 |
| | | | | for controlling wakeup frequency. | ||||
* | Use std::make_unique and hide actual ThreadExecutor implementation. | Henning Baldersheim | 2020-11-29 | 2 | -8/+14 |
| | |||||
* | use singleton object instead of static members | Håvard Pettersen | 2020-11-26 | 2 | -16/+29 |
| | | | | this is to avoid having to create a repo when it is not used | ||||
* | improve and clean up unit test | Håvard Pettersen | 2020-11-26 | 2 | -28/+33 |
| | |||||
* | check for 0 id more places | Håvard Pettersen | 2020-11-26 | 1 | -13/+13 |
| | | | | | also cut some documentation, since we only have one handle type for now. | ||||
* | shared string repo -- WIP | Håvard Pettersen | 2020-11-25 | 6 | -1/+434 |
| | |||||
* | - Reorder members for compactness. | Henning Baldersheim | 2020-11-23 | 1 | -5/+2 |
| | | | | | - Avoid needing the definition of Error everywhere. - use std::make_xxx and other c++11 constructs. | ||||
* | Merge pull request #15385 from vespa-engine/balder/reorder-for-smaller-footprint | Henning Baldersheim | 2020-11-23 | 5 | -124/+139 |
|\ | | | | | Balder/reorder for smaller footprint | ||||
| * | Steal the traces explicit and force moving of traces. Also hide access to ↵ | Henning Baldersheim | 2020-11-23 | 5 | -13/+23 |
| | | | | | | | | the root. | ||||
| * | Update comment. | Henning Baldersheim | 2020-11-23 | 1 | -2/+1 |
| | | |||||
| * | Reduce exposure of TraceNode even further. | Henning Baldersheim | 2020-11-18 | 2 | -28/+16 |
| | | |||||
| * | Use a std:.unique_ptr to make Trace a thin wrapper for TraceNode to make the ↵ | Henning Baldersheim | 2020-11-18 | 3 | -26/+52 |
| | | | | | | | | happy path fast. | ||||
| * | Explicit copy construction of Trace. | Henning Baldersheim | 2020-11-18 | 1 | -6/+5 |
| | | |||||
| * | Move the Trace and TraceNode when adding traces. | Henning Baldersheim | 2020-11-18 | 2 | -2/+2 |
| | | |||||
| * | Hide the modifiable TraceNode root inside the Trace object | Henning Baldersheim | 2020-11-18 | 2 | -7/+28 |
| | | |||||
| * | No need to copy an empty object into another empty object. | Henning Baldersheim | 2020-11-18 | 4 | -79/+51 |
| | | |||||
* | | Include array to get definition of std::array. | Tor Egge | 2020-11-23 | 1 | -0/+1 |
|/ | |||||
* | add helper method to extract the underlying buffer | Arne Juul | 2020-11-18 | 1 | -1/+3 |
| | |||||
* | Merge pull request #15325 from vespa-engine/havardpe/spin-lock | Håvard Pettersen | 2020-11-13 | 4 | -0/+226 |
|\ | | | | | added spin lock with test | ||||
| * | use yield instead of pause | Håvard Pettersen | 2020-11-13 | 1 | -1/+2 |
| | | |||||
| * | add more warnings | Håvard Pettersen | 2020-11-13 | 1 | -0/+9 |
| | | |||||
| * | fix typo | Håvard Pettersen | 2020-11-13 | 1 | -1/+1 |
| | | |||||
| * | added spin lock with test | Håvard Pettersen | 2020-11-12 | 4 | -0/+216 |
| | | | | | | | | | | | | | | | | | | | | | | The micro-benchmark shows promise (run test manually with 'verbose' as parameter). It indicates that taking and releasing the spin lock from a single thread is cheaper than doing the same with a normal mutex (as expected based on previous tests). However, it also indicates that it is competitive with a normal mutex for short critical sections with multiple threads involved. (on my laptop, only the cases using more threads than cores run faster with a normal mutex, which is a better result than expected). | ||||
* | | Name the threads so it is easier to see who is doing what. | Henning Baldersheim | 2020-11-12 | 2 | -12/+13 |
| | | |||||
* | | Add name and type to exception. | Henning Baldersheim | 2020-11-12 | 2 | -6/+4 |
| | | |||||
* | | Add basic exact matching support for X509 URI SANs | Tor Brede Vekterli | 2020-11-10 | 11 | -39/+137 |
|/ | | | | | | | | | | Adds extraction of X509 URI peer credentials during the handshake process as well as a new SAN_URI field to the transport security options peer policy section. This implementation is NOT conformant with RFC 2459 since we don't currently support case insensitive matching of scheme, host etc., but it's good enough for our purposes for now. | ||||
* | Guard against timeout value that is too high and will cause overflow. | Henning Baldersheim | 2020-11-05 | 1 | -0/+5 |
| |