Hi Jocelyn, right, we didn't yet try P8 transactional memory functions. There're no firm plans either, but there was definitely some research.
Regards, Sergey On Sat, May 02, 2015 at 09:26:42PM +0200, jocelyn fournier wrote: > Hi Sergey, > > Just to be sure, currently MariaDB doesn't implement any Hardware > Transactional Memory Built-in Functions ? > If so, is there any plan to evaluate the gain they could offer to MariaDB ? > > Thanks and regards, > Jocelyn Fournier > > Le 04/12/2014 14:45, s...@mariadb.org a écrit : > >revision-id: 4bff8b0b03ba82cd0ae6817b54de1780e89047ca > >parent(s): 3526fe1b6000b2558290007e5cc3a1018850787c > >committer: Sergey Vojtovich > >branch nick: 10.1 > >timestamp: 2014-12-04 17:44:46 +0400 > >message: > > > >MDEV-7004 - Merge scalability fixes from 10.0-power > > > >Preallocate dynamic array and bitmap on mem_root to avoid expensive malloc. > >This reduces number of allocations from 39 to 31 per OLTP RO transaction. > > > >--- > > sql/opt_range.cc | 12 ++++++------ > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > >diff --git a/sql/opt_range.cc b/sql/opt_range.cc > >index 1a9ae3d..813508c 100644 > >--- a/sql/opt_range.cc > >+++ b/sql/opt_range.cc > >@@ -1838,8 +1838,6 @@ void SQL_SELECT::cleanup() > > index= key_nr; > > head= table; > > key_part_info= head->key_info[index].key_part; > >- my_init_dynamic_array(&ranges, sizeof(QUICK_RANGE*), 16, 16, > >- MYF(MY_THREAD_SPECIFIC)); > > /* 'thd' is not accessible in QUICK_RANGE_SELECT::reset(). */ > > mrr_buf_size= thd->variables.mrr_buff_size; > >@@ -1857,9 +1855,12 @@ void SQL_SELECT::cleanup() > > file= head->file; > > record= head->record[0]; > >- /* Allocate a bitmap for used columns (Q: why not on MEM_ROOT?) */ > >- if (!(bitmap= (my_bitmap_map*) my_malloc(head->s->column_bitmap_size, > >- MYF(MY_WME | > >MY_THREAD_SPECIFIC)))) > >+ my_init_dynamic_array2(&ranges, sizeof(QUICK_RANGE*), > >+ thd->alloc(sizeof(QUICK_RANGE*) * 16), 16, 16, > >+ MYF(MY_THREAD_SPECIFIC)); > >+ > >+ /* Allocate a bitmap for used columns */ > >+ if (!(bitmap= (my_bitmap_map*) thd->alloc(head->s->column_bitmap_size))) > > { > > column_bitmap.bitmap= 0; > > *create_error= 1; > >@@ -1923,7 +1924,6 @@ void QUICK_RANGE_SELECT::range_end() > > } > > delete_dynamic(&ranges); /* ranges are allocated in alloc */ > > free_root(&alloc,MYF(0)); > >- my_free(column_bitmap.bitmap); > > } > > my_free(mrr_buf_desc); > > DBUG_VOID_RETURN; > >_______________________________________________ > >commits mailing list > >comm...@mariadb.org > >https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits > _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp