Re: [Maria-developers] [Commits] 4bff8b0: MDEV-7004 - Merge scalability fixes from 10.0-power

2015-05-02 Thread Sergey Vojtovich
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


Re: [Maria-developers] [Commits] 4bff8b0: MDEV-7004 - Merge scalability fixes from 10.0-power

2015-05-02 Thread jocelyn fournier

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