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

Reply via email to