- 10 Jan, 2018 14 commits
-
-
Maged Michael authored
Summary: Provide capability for custom batching retirement of objects, for example object that belong to the same data structure, to avoid the risk fragmenting related objects across thread local lists of retired objects of many threads, which could lead to unnecessarily high memory usage. Reviewed By: djwatson Differential Revision: D6686603 fbshipit-source-id: fadcade73e71170ef1bcec221c4da6f4ddeecff5
-
Yedidya Feldblum authored
Summary: [Folly] Tweak `FutexResult` comments. Reviewed By: nbronson Differential Revision: D6673979 fbshipit-source-id: 1777311cd93d5a83432c4ebb48a8432a1c504ca9
-
Yedidya Feldblum authored
Summary: [Folly] `Futex::futexWait` returns `FutexResult`. Reviewed By: nbronson Differential Revision: D6673871 fbshipit-source-id: 378c69d8362970e985da31e31d8e9b0179d2917f
-
Yedidya Feldblum authored
Summary: [Folly] Support for all clock types in `Futex`. Only `system_clock` and `steady_clock` remain optimal as before, but at least let `Futex` work, even if non-optimally, for all clock types. Reviewed By: nbronson Differential Revision: D6673741 fbshipit-source-id: 0a0f778f61b71bea76e12b7fab478e33ce3bbaae
-
Yedidya Feldblum authored
Summary: [Folly] Use ptr-to-`const` in `Futex`. Reviewed By: igorsugak Differential Revision: D6673723 fbshipit-source-id: b828c2284b40ec8166e823eca7725beccd330f87
-
Yedidya Feldblum authored
Summary: [Folly] Fix some copyright lines in `folly/detail/` and `folly/test/`. Differential Revision: D6673878 fbshipit-source-id: 6c060a974bb4d40d0f24a44ebddddf892805c65e
-
Yedidya Feldblum authored
Summary: [Folly] Baton support for wait-options Reviewed By: nbronson Differential Revision: D6591168 fbshipit-source-id: beca8422ac0daa572fb43c371923a86f199999f9
-
Yedidya Feldblum authored
Summary: [Folly] Timed wait operations for spin-only `Baton`. Enables `try_wait_for` and `try_wait_until` for `Baton</* MayBlock = */ false, /*...*/>`. Reviewed By: nbronson Differential Revision: D6672153 fbshipit-source-id: 95da07260b21c2b88b8f7bf81cbfcbe5f5099ac0
-
Adam Simpkins authored
Summary: Update `getXlogCategoryNameForFile()` to keep the file name suffix (e.g., `.h` or `.cpp`) in the category name. Previously the code had stripped this out. However it seems worth leaving it in: - This makes it possible to independently control log levels for messages from the header file vs the cpp file. - This makes the category name logic slightly easier to explain to users. The documents I added in D6525997 already describe this new category name selection behavior. This change updates the code to match the documented behavior. Reviewed By: yfeldblum Differential Revision: D6690464 fbshipit-source-id: 9af6b549d084bd900f788a08e9213e82579b664a
-
Adam Simpkins authored
Summary: Define INFO0 through INFO9 levels for users that want to have finer-grained control over info log messages. This also renumbers the DBG log levels slightly so that there are exactly 1000 levels between each major log level step. This renumbering change should not affect any code behavior, since these level values are primarily used in memory and aren't saved persistently anywhere. Reviewed By: yfeldblum Differential Revision: D6690466 fbshipit-source-id: acd499cff6830a1d1b579f295bd4b2bac93b5ada
-
Adam Simpkins authored
Summary: I ran into some open source projects that define `DEBUG` as a preprocessor macro on the compiler command line. (They effectively defined it as the opposite of `NDEBUG`.) Doing some Google searches revealed that there are a number of projects that appear to use this as a macro. Therefore this diff renames the `DEBUG` log level enum value to `DBG` to avoid potentially conflicting with projects that do use `DEBUG` as a macro name. I did keep the behavior that `logLevelToString()` returns "DEBUG" for an input of `LogLevel::DBG`. Reviewed By: yfeldblum Differential Revision: D6690465 fbshipit-source-id: 35bb1698afb45eb670e60c192f21390cbf09331d
-
Giuseppe Ottaviano authored
Summary: When compiling without optimizations binding the proxy by reference is slightly faster (no differences in opt mode), so change the documentation to recommend this syntax. The proxy can still be bound by `auto`, `const auto`, and `const auto&`, in all case behaving as expected and with no overhead in opt mode. Added a test to make sure these all work. Reviewed By: yfeldblum, luciang Differential Revision: D6688958 fbshipit-source-id: 7c6b460a01708786bda7614546fa2e1667f27299
-
Giuseppe Ottaviano authored
Reviewed By: yfeldblum, WillerZ Differential Revision: D6682606 fbshipit-source-id: 5a203a849e96d3020cf9ad2669451122954c2199
-
Adriana Libório authored
Summary: title Created from Diffusion's 'Open in Editor' feature. (Note: this ignores all push blocking failures!) Reviewed By: Sushisugre Differential Revision: D6688367 fbshipit-source-id: 6e2f2d3fcb897fe78c1caef841515856b1f2bd42
-
- 09 Jan, 2018 4 commits
-
-
Dan Melnic authored
Summary: Return if we handle any error messages to avoid unnecessarily calling recv/send Reviewed By: yfeldblum Differential Revision: D6677314 fbshipit-source-id: 21f724bb2c92b954888ba97bf7820d72decd2775
-
Dave Watson authored
Summary: Use new ParkingLot API in futex. Reviewed By: yfeldblum Differential Revision: D6595853 fbshipit-source-id: 7024ac1d3e0c5958a651a3e33c1427038bbe7808
-
Dave Watson authored
Summary: Batching reference counts reduces the maximum number of atomic_shared_ptrs available to the system (and also shared_ptrs). Add a check, test, and some comments about it. Reviewed By: yfeldblum Differential Revision: D5916291 fbshipit-source-id: 0bbf7b43284d94a304201219883c82b3654c1585
-
Maged Michael authored
Summary: Adjust the segment size of the `UnboundedQueue` to 64 instead of 256, a size more suitable for CPUThreadPoolExecutor::CPUTask elements. Reviewed By: djwatson Differential Revision: D6665918 fbshipit-source-id: c34c4fa936ee5c6d6a3dd4489129c936369f3980
-
- 08 Jan, 2018 5 commits
-
-
Eric Niebler authored
Summary: This makes sure that whether folly is statically or dynamically linked, all folly exception types will have exactly one definition, and one set of type information. Reviewed By: mzlee Differential Revision: D6671431 fbshipit-source-id: 1c06826a05f87cbf9af747c9abdb5f524744d054
-
Keith Daigle authored
Summary: Found that testing would fail on aarch64 since mmx is an Intel thing. Changed it to just check for x64. Reviewed By: yfeldblum Differential Revision: D6670050 fbshipit-source-id: 6ce4b45bb5ef02d65305636d6ac28be7631ddf1b
-
Chad Austin authored
Summary: D6617812 wants to build a StringPiece from a literal with an embedded nul. Add a test to verify that _sp is suitable for this use case. Reviewed By: yfeldblum Differential Revision: D6651024 fbshipit-source-id: be4fb875762829fdb61c57fa72954fef286e9df0
-
Neel Goyal authored
Summary: ERR_error_string will use a static buffer if none is provided. This is unsafe in threaded envs when we build a string out of it later. Switch this to use ERR_error_string_n Reviewed By: yfeldblum, knekritz Differential Revision: D6664958 fbshipit-source-id: 2071347373ac61ebc28296fa66845cd718172b5e
-
Yedidya Feldblum authored
Summary: [Folly] Remove gcc-v4.7 support from `MemoryIdler`. As of gcc-v4.8, `std::is_trivial<std::chrono::duration<Rep, Period>>::value` holds. We no longer need any extra support. Reviewed By: meyering Differential Revision: D6673517 fbshipit-source-id: f28b2d126f113547ebf36c85f9fa37a5d944d65b
-
- 07 Jan, 2018 1 commit
-
-
Yedidya Feldblum authored
Summary: [Folly] Terminal comma for `FutexResult` enumerators. Style nit. Reviewed By: meyering Differential Revision: D6673523 fbshipit-source-id: abf9f4d3e99bf9a6d3042a49252b1b1190e69b9f
-
- 06 Jan, 2018 3 commits
-
-
Yedidya Feldblum authored
Summary: Use `auto` for scope-guard locals v.s. `folly::ScopeGuard`. Reviewed By: igorsugak, meyering Differential Revision: D6664915 fbshipit-source-id: ea239b712f3f9dc7ef81105aaf82f4b36bc07db5
-
Eric Niebler authored
Summary: Default constructors are strange and often unexpected. Refactor. Reviewed By: yfeldblum Differential Revision: D6667480 fbshipit-source-id: 24c456c46c846c61e28f1a88806d7c36d9192493
-
Maged Michael authored
Summary: Change the threshold for pushing privately held retired object to the domain to a moderate constant instead of using the threshold for bulk reclamation which is too high for this purpose. Reviewed By: djwatson Differential Revision: D6665904 fbshipit-source-id: 0b090884843b0296a93af7994f7183f41c00000e
-
- 05 Jan, 2018 10 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] `Synchronized::exchange`, for assigning a new value and returning the old value. (Note: this ignores all push blocking failures!) Differential Revision: D6653482 fbshipit-source-id: 68f4bd330bc2cf37bb92aff98b8ce3221334112e
-
Yedidya Feldblum authored
Summary: [Folly] Fix copyright lines in `folly/synchronization/Baton.h`. Reviewed By: meyering Differential Revision: D6665595 fbshipit-source-id: 84aa0c475f01c858d543a047103437c083b3a4ed
-
Mingtao Yang authored
Summary: Adds wording indicating that it is safe to call this function multiple times. Reviewed By: yfeldblum Differential Revision: D6625530 fbshipit-source-id: 2305f7b8e3451a6663003d23230b22c6f65a3729
-
Yedidya Feldblum authored
Summary: [Folly] Cut `glog` include from `folly/synchronization/RWSpinLock.h`. Reviewed By: meyering Differential Revision: D6659300 fbshipit-source-id: 0f1b79d98be0656694f57667252a16acd54e2414
-
Yedidya Feldblum authored
Summary: [Folly] Move `folly/RWSpinLock.h` to `folly/synchronization/`. Reviewed By: elsteveogrande Differential Revision: D6659265 fbshipit-source-id: 307723e22f42ceb104f26657aed8b34f7e183afb
-
Yedidya Feldblum authored
Summary: [Folly] Extract `WaitOptions` from `SaturatingSemaphore`. This type may prove useful in the future for a variety of similar cases, and so does not need to be locked up inside `SaturatingSemaphore`. Additionally: * Extract and redraft a comment from `Baton`. * Rename `pre_block` to `spin_max`. Reviewed By: djwatson, aary Differential Revision: D6632875 fbshipit-source-id: 6b7faeeb6e1ac2011a037c2b560def0ee2e9f3d4
-
Yedidya Feldblum authored
Summary: [Folly] Move `folly/BitIterator.h` to `folly/container/`. Reviewed By: djwatson Differential Revision: D6648357 fbshipit-source-id: 5617e3210f58435fcbf3ef07fa745da47dbce475
-
Yedidya Feldblum authored
Summary: [Folly] Move `InPlaceConstruction` test in `folly/test/SynchronizedTest.cpp`. Differential Revision: D6653481 fbshipit-source-id: f0eadfd6c2f41e9f597a666d01e40d5553447c70
-
Yedidya Feldblum authored
Summary: [Folly] Fix copyright lines for `folly/Synchronized.h`. Reviewed By: meyering Differential Revision: D6664326 fbshipit-source-id: 71a0fc17358e41dfc751b8bcb0736c288975a4a0
-
Neel Goyal authored
Summary: Add methods to create a X509StoreUniquePtr from a ca file or buffer. Reviewed By: yfeldblum Differential Revision: D6662538 fbshipit-source-id: 646f61596f2787756b2fa5998a43f36d75a91d90
-
- 04 Jan, 2018 1 commit
-
-
Keith Daigle authored
Summary: This breaks while building on aarch64 each time because the headers aren't in the repo. I did a quick grep and I don't see anything in folly that uses OptionalAwaitable or OptionalPromise so perhaps it's possible to remove instead, can do that if preferred. Depends on D6611609 to complete build of tests cleanly. Reviewed By: yfeldblum Differential Revision: D6643759 fbshipit-source-id: f480d50383f85fbe905daaad74198b6557609347
-
- 03 Jan, 2018 2 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Avoid allocs in dtors in futures `collect`. `CollectContext`, a detail helper type, allocates storage for a results vector in its dtor. This is an awkward situation and should be avoided. Reviewed By: ericniebler Differential Revision: D6649299 fbshipit-source-id: 87746fcc78fa080f63505d7bb864aca6c4a3d7cb
-
Keith Daigle authored
Summary: While trying to build folly on aarch64 found that the SharedMutexTest wouldn't build because it uses RWTicketSpinLock which was only available on x86 platforms. Updated to allow build on aarch64 after suggestion by Orvid Reviewed By: yfeldblum Differential Revision: D6611609 fbshipit-source-id: 8ec477cdedac0f0a705608bbac42dd63b3efb919
-