Comments (7)
If possible, it might be good to get results for both x86 + arm64 (using the current implementation that doesn't have a static pool).
For deciding if we need to further optimize arm64, we actually need arm64. It would be good to have this ready at the latest when people start commenting on the arm64 version.
from kernel-sanitizers.
I don't think we strictly need arm64 benchmarks for the RFC.
My gut feeling is that implementing a static pool on ARM is both doable and worth it wrt performance, so we just need an arch/arm64
expert to look at the code.
from kernel-sanitizers.
I don't think we strictly need arm64 benchmarks for the RFC.
Yes, I should have clarified that it's not a dependency.
My gut feeling is that implementing a static pool on ARM is both doable and worth it wrt performance, so we just need an
arch/arm64
expert to look at the code.
That's reasonable. Here's hoping it is simple enough to do. :-)
from kernel-sanitizers.
Some benchmark data from running hackbench -s 4096 -l 500 -f 25
30 times (3 series of 1 preheat run + 10 benchmark runs with reboots between series):
sample_interval | slowdown, % | error (±%) |
---|---|---|
This is an x86 QEMU with 1 CPU.
from kernel-sanitizers.
The benchmark is quite noisy, maybe running under taskset will be more helpful.
from kernel-sanitizers.
Please disregard the above data, it was measured with KASAN enabled.
Without KASAN the slowdown is within the noise level for sample_interval values within [10,100000]
from kernel-sanitizers.
RFC was sent, and at least for x86 we know where we're at. Let's close this for now.
from kernel-sanitizers.
Related Issues (20)
- Enormous number of sync objects HOT 5
- CPU numbers in reports are presumably wrong
- Annotate more synchronization primitives HOT 3
- Detect races on global variables
- Report RCU read critical sections
- False positive in blk_complete_request HOT 1
- kernel BUG at mm/ktsan/thr.c:129!
- Check that allocator does not introduce lots of unnecessary synchronization
- Print information about globals
- Print heap block allocation stack
- false positives on irq stack
- Handle synchronization on struct page
- (Cosmetic) kt_shadow_clear is dead code and seems broken HOT 1
- When does ktsan task destroy? HOT 2
- Does KTSAN support ARM64?
- Code Execution HOT 1
- Move KFENCE internals info to kernel docs HOT 2
- Does kernel hwasan support short granules? HOT 1
- Is KASAN working properly? HOT 4
- KAsan globals metadata size question HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kernel-sanitizers.