Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH small 0/2] Aligned lsregion
@ 2020-05-14 23:31 Vladislav Shpilevoy
  2020-05-14 23:31 ` [Tarantool-patches] [PATCH small 1/2] lsregion: introduce lsregion_reserve() Vladislav Shpilevoy
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Vladislav Shpilevoy @ 2020-05-14 23:31 UTC (permalink / raw)
  To: tarantool-patches, korablev, tsafin, gorcunov

The patchset introduces a new function - lsregion_aligned_alloc().
This activity goes in scope of the big issue about lots of
'undefined behaviour' cases among Tarantool sources. One and the
biggest of which is unaligned memory access.

Currently lsregion is used in vinyl for statements and BPS tree
blocks. All of them are not aligned. Addresses are absolutely
arbitrary, sometimes even odd, like ending with 1, 9, etc.

Not counting UB, this is also slower, may be much slower sometimes.

Branch: http://github.com/tarantool/small/tree/gerold103/aligned-lsregion
Issue: https://github.com/tarantool/tarantool/issues/4609

Vladislav Shpilevoy (2):
  lsregion: introduce lsregion_reserve()
  lsregion: provide aligned version of alloc

 small/lsregion.c | 12 ++-----
 small/lsregion.h | 78 +++++++++++++++++++++++++++++++++---------
 test/lsregion.c  | 88 +++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 152 insertions(+), 26 deletions(-)

-- 
2.21.1 (Apple Git-122.3)

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-05-17 13:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-14 23:31 [Tarantool-patches] [PATCH small 0/2] Aligned lsregion Vladislav Shpilevoy
2020-05-14 23:31 ` [Tarantool-patches] [PATCH small 1/2] lsregion: introduce lsregion_reserve() Vladislav Shpilevoy
2020-05-15 12:35   ` Aleksandr Lyapunov
2020-05-14 23:31 ` [Tarantool-patches] [PATCH small 2/2] lsregion: provide aligned version of alloc Vladislav Shpilevoy
2020-05-15 13:03   ` Aleksandr Lyapunov
2020-05-15 23:24     ` Vladislav Shpilevoy
2020-05-15 12:26 ` [Tarantool-patches] [PATCH small 0/2] Aligned lsregion Aleksandr Lyapunov
2020-05-15 23:22   ` Vladislav Shpilevoy
2020-05-16 19:09     ` Aleksandr Lyapunov
2020-05-17 13:56       ` Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox