Re: [PATCHv2 0/4] Improve performance for SLAB_POISON
From: Joonsoo Kim <hidden>
Date: 2016-02-18 08:39:24
Also in:
lkml
2016-02-16 3:44 GMT+09:00 Laura Abbott [off-list ref]:
Hi, This is a follow up to my previous series (http://lkml.kernel.org/g/[ref]) This series takes the suggestion of Christoph Lameter and only focuses on optimizing the slow path where the debug processing runs. The two main optimizations in this series are letting the consistency checks be skipped and relaxing the cmpxchg restrictions when we are not doing consistency checks. With hackbench -g 20 -l 1000 averaged over 100 runs: Before slub_debug=P mean 15.607 variance .086 stdev .294 After slub_debug=P mean 10.836 variance .155 stdev .394 This still isn't as fast as what is in grsecurity unfortunately so there's still work to be done. Profiling ___slab_alloc shows that 25-50% of time is spent in deactivate_slab. I haven't looked too closely to see if this is something that can be optimized.
There is something to be optimized. deactivate_slab() deactivate objects of freelist one by one and it's useless. And, it deactivates freelist with two phases. Deactivating objects except last one and then deactivating last object with node lock. It would be also optimized although I didn't think deeply. Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>