Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add function to lowercase an utf8 string while converting it to ucs4 codepoints. | Geir Storli | 2022-03-18 | 3 | -7/+34 |
| | |||||
* | Always use array of AtomicEntryRef in unique store remapper. | Tor Egge | 2022-03-17 | 2 | -18/+13 |
| | |||||
* | Use AtomicEntryRef and AtomicValueWrapper<uint32_t> in reference attribute. | Tor Egge | 2022-03-17 | 1 | -0/+9 |
| | |||||
* | Add acquire_elem_ref() member function to rcu vector. | Tor Egge | 2022-03-15 | 3 | -6/+173 |
| | |||||
* | Merge pull request #21662 from ↵ | Henning Baldersheim | 2022-03-14 | 2 | -0/+65 |
|\ | | | | | | | | | vespa-engine/vekterli/use-atomic-values-in-btree-bucket-database-impl Make B-tree bucket database values atomic to ensure well-defined access [run-systemtest] | ||||
| * | Make B-tree bucket database values atomic to ensure well-defined access | Tor Brede Vekterli | 2022-03-11 | 2 | -0/+65 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Existing implementation already used explicit acquire/release fences to ensure visibility from writer to concurrent readers, but the values written/read were not of an atomic type and thus _technically_ considered a data race. This commit adds an AtomicValueWrapper wrapper to vespalib which looks and acts much like the existing AtomicEntryRef, but for primitive types that are not related to EntryRefs. The bucket DB B-tree primitive u64 value type is replaced with an atomic wrapper and explicit memory fences are replaced with release stores and acquire loads on the atomic values themselves to ensure they form correct pairs between writer and readers. | ||||
* | | Convert rcu vector unit test to gtest. | Tor Egge | 2022-03-14 | 5 | -137/+164 |
|/ | | | | Factor out generation holder test to separate unit test. | ||||
* | Add noexcept | Henning Baldersheim | 2022-03-10 | 6 | -24/+24 |
| | |||||
* | Reduce exposure of SymbolTable, Stash and other classes not necessary for ↵ | Henning Baldersheim | 2022-03-10 | 14 | -68/+134 |
| | | | | users of Slime. | ||||
* | Prefer std::vector<T, vespalib::allocator_large> over vespalib::Array<T> step 1. | Henning Baldersheim | 2022-03-10 | 4 | -10/+7 |
| | |||||
* | fix tsan warnings | Håvard Pettersen | 2022-03-09 | 1 | -13/+33 |
| | | | | | | | | | | Portal code calls attach from the reactor thread, so most of these warnings will not be relevant there. However, they indicate that we need to be careful about creating the object that will get the callback before creating the reactor token. Also, the token itself is in need of synchronization (like any smart-ptr-like-thing) which makes deleting it inside the call-back somewhat problematic unless there is a lock or it was created in the reactor thread in the first place. | ||||
* | Merge pull request #21614 from vespa-engine/havardpe/avoid-mmap-fail-with-tsan | Henning Baldersheim | 2022-03-09 | 1 | -0/+10 |
|\ | | | | | tsan does not seem too happy about mmap failures | ||||
| * | tsan does not seem too happy about mmap failures | Håvard Pettersen | 2022-03-09 | 1 | -0/+10 |
| | | |||||
* | | Merge pull request #21609 from vespa-engine/balder/add-noexcept | Henning Baldersheim | 2022-03-09 | 1 | -16/+16 |
|\ \ | | | | | | | Add noexcept. | ||||
| * | | Make noexcept conditional. | Henning Baldersheim | 2022-03-09 | 1 | -3/+3 |
| | | | |||||
| * | | Add noexcept. | Henning Baldersheim | 2022-03-09 | 1 | -16/+16 |
| |/ | |||||
* / | Use AtomicEntryRef in MultiValueMappingBase. | Tor Egge | 2022-03-09 | 3 | -31/+10 |
|/ | |||||
* | Merge pull request #21586 from vespa-engine/balder/gc-unused-threadpool | Henning Baldersheim | 2022-03-08 | 2 | -2/+1 |
|\ | | | | | Balder/gc unused threadpool | ||||
| * | Get VESPA_DLL_LOCAL from vespa/fastos/types.h | Henning Baldersheim | 2022-03-07 | 2 | -2/+1 |
| | | |||||
* | | Fix constexpr expression on clang. | Tor Egge | 2022-03-08 | 1 | -6/+8 |
|/ | |||||
* | use atomic to make tsan happy | Håvard Pettersen | 2022-03-07 | 2 | -4/+5 |
| | |||||
* | gc old process code | Håvard Pettersen | 2022-03-05 | 18 | -865/+139 |
| | | | | also added read_line function to new Process code | ||||
* | Merge pull request #21547 from ↵ | Geir Storli | 2022-03-04 | 4 | -7/+7 |
|\ | | | | | | | | | vespa-engine/toregge/use-atomic-entry-ref-as-value-for-enum-store-dictionary-with-posting-lists Use AtomicEntryRef as value for enum store btree dictionary with posting lists. | ||||
| * | Use AtomicEntryRef as value for enum store btree dictionary with posting lists. | Tor Egge | 2022-03-04 | 4 | -7/+7 |
| | | |||||
* | | use /bin/echo when using -n option | Håvard Pettersen | 2022-03-04 | 1 | -2/+2 |
| | | |||||
* | | process code | Håvard Pettersen | 2022-03-04 | 11 | -0/+413 |
|/ | |||||
* | Use AtomicEntryRef as key for unique store btree dictionary. | Tor Egge | 2022-03-03 | 18 | -42/+57 |
| | |||||
* | Unconditionally un-toggle huge page failure flag when mapping was OK | Tor Brede Vekterli | 2022-03-03 | 1 | -3/+1 |
| | |||||
* | Make global alloc hugepages failure flag atomic | Tor Brede Vekterli | 2022-03-03 | 1 | -5/+8 |
| | |||||
* | relative std::this_thread::sleep_for is more efficient than absolute ↵ | Henning Baldersheim | 2022-03-03 | 1 | -3/+2 |
| | | | | std::this_thread::sleep_until. This is the opposite of std::condition_variable::wait_until/wait_for. | ||||
* | Follow api change pointer to reference | Henning Baldersheim | 2022-03-03 | 1 | -3/+3 |
| | |||||
* | Use a reference instead of a pointer, as it will always be present now. | Henning Baldersheim | 2022-03-03 | 2 | -2/+2 |
| | |||||
* | Sample time prior to creating the InvokServiceImpl to ensure correct ↵ | Henning Baldersheim | 2022-03-03 | 1 | -1/+1 |
| | | | | ordering of time. | ||||
* | Let the InvocationService drive the clock instead of having its own ticking ↵ | Henning Baldersheim | 2022-03-03 | 4 | -14/+35 |
| | | | | | | | loop. Also use sleep_until to get intervals indendant of invoke cost as long as cost is within interval. This also also saves a clock sample and simplifies implementation. | ||||
* | make tsan happy | Håvard Pettersen | 2022-03-03 | 1 | -3/+3 |
| | |||||
* | Merge pull request #21491 from ↵ | Henning Baldersheim | 2022-03-02 | 1 | -1/+8 |
|\ | | | | | | | | | vespa-engine/balder/run-sync-task-in-singlecommitter-thread Running the poll task in the singleCommitter thread removes the need … | ||||
| * | Since we schedule the last chunk for commit in triggerSyncNow, we can assert ↵ | Henning Baldersheim | 2022-03-02 | 1 | -1/+8 |
| | | | | | | | | | | | | that we will be fully synced on the next pull when it happens in the singleCommitter thread. That allows for further simplification. | ||||
* | | Merge pull request #21490 from ↵ | Geir Storli | 2022-03-02 | 1 | -4/+119 |
|\ \ | |/ |/| | | | | | vespa-engine/toregge/stress-test-lifetime-of-held-data Test lifetime of indirect values accessed via atomic pointer. | ||||
| * | Remove unneeded preprocessor directives. | Tor Egge | 2022-03-02 | 1 | -5/+15 |
| | | | | | | | | Make stopping of readers more robust. | ||||
| * | Test lifetime of indirect values accessed via atomic pointer. | Tor Egge | 2022-03-01 | 1 | -4/+109 |
| | | |||||
* | | Merge pull request #21481 from vespa-engine/balder/gc-unused-code-1v7.553.2v7.552.18 | Henning Baldersheim | 2022-03-01 | 1 | -2/+2 |
|\ \ | | | | | | | GC unused code. | ||||
| * | | GC unused code. | Henning Baldersheim | 2022-03-01 | 1 | -2/+2 |
| | | | |||||
* | | | Merge pull request #21477 from ↵ | Henning Baldersheim | 2022-03-01 | 3 | -10/+12 |
|\ \ \ | |_|/ |/| | | | | | | | | vespa-engine/balder/use-wait_until-to-reduce-need-for-sampling-time Use wait_until and a deadline instead of a timeout. | ||||
| * | | timeout_end -> deadline | Henning Baldersheim | 2022-03-01 | 2 | -5/+5 |
| | | | |||||
| * | | Use wait_until and a deadline instead of a timeout. | Henning Baldersheim | 2022-03-01 | 3 | -9/+11 |
| | | | | | | | | | | | | This reduces the need to smaple the time significantly. | ||||
* | | | Merge pull request #21478 from ↵ | Geir Storli | 2022-03-01 | 4 | -109/+126 |
|\ \ \ | |_|/ |/| | | | | | | | | vespa-engine/toregge/convert-generation-handler-tests-to-gtest Convert generation handler tests to gtest. | ||||
| * | | Sync executors at end of stress test. | Tor Egge | 2022-03-01 | 1 | -0/+2 |
| | | | |||||
| * | | Convert generation handler tests to gtest. | Tor Egge | 2022-03-01 | 4 | -109/+124 |
| |/ | |||||
* | | Merge pull request #21469 from ↵ | Geir Storli | 2022-03-01 | 4 | -44/+183 |
|\ \ | |/ |/| | | | | | vespa-engine/toregge/compact-indirect-keys-and-values-in-btree-stress-test Compact indirect keys and values in btree stress test. | ||||
| * | Compact indirect keys and values in btree stress test. | Tor Egge | 2022-02-28 | 4 | -44/+183 |
| | |