Commit 5e64c3d0 authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

Update changelog and refresh patches after 10.0.27 import

parent 5870eb04
mariadb-10.0 (10.0.27-0+deb8u1) jessie; urgency=low
* New upstream release 10.0.27. Includes fix for regression in
powerpc builds (Closes: #832931).
-- Otto Kekäläinen <otto@debian.org> Sat, 10 Sep 2016 00:12:43 +0300
mariadb-10.0 (10.0.26-0+deb8u1) jessie-security; urgency=high
[ Otto Kekäläinen ]
......
Description: Revert innodb and xtradb PowerPC synchronization from 10.0.26
On PowerPC 64 Little Endian we have synchronization problems that causes
warnings in test cases. The patch reverts these changes from 10.0.26 that
caused this regression.
The patch was initially proposed by Sergey Vojtovich, altered slightly to
have it compile.
.
This patch should be removed when upstream provides an adequate fix.
Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
diff --git a/storage/innobase/include/os0sync.h b/storage/innobase/include/os0sync.h
index 1cf4e9c..1abb774 100644
--- a/storage/innobase/include/os0sync.h
+++ b/storage/innobase/include/os0sync.h
@@ -492,7 +492,8 @@ inline
lock_word_t
os_atomic_clear(volatile lock_word_t* ptr)
{
- return(__sync_lock_test_and_set(ptr, 0));
+ __sync_lock_release(ptr);
+ return *ptr;
}
# elif defined(HAVE_IB_GCC_ATOMIC_TEST_AND_SET)
@@ -861,6 +862,7 @@ for synchronization */
architecture. Disable memory barrier for Intel architecture for now. */
# define os_rmb do { } while(0)
# define os_wmb do { } while(0)
+# define os_mb do { } while(0)
# define os_isync do { } while(0)
# define IB_MEMORY_BARRIER_STARTUP_MSG \
"Memory barrier is not used"
diff --git a/storage/innobase/include/sync0sync.ic b/storage/innobase/include/sync0sync.ic
index 55f728f..0b6858a 100644
--- a/storage/innobase/include/sync0sync.ic
+++ b/storage/innobase/include/sync0sync.ic
@@ -178,6 +178,8 @@ mutex_exit_func(
to wake up possible hanging threads if
they are missed in mutex_signal_object. */
+ os_mb;
+
if (mutex_get_waiters(mutex) != 0) {
mutex_signal_object(mutex);
diff --git a/storage/xtradb/include/os0sync.h b/storage/xtradb/include/os0sync.h
index 0f93f3f..2aa9478 100644
--- a/storage/xtradb/include/os0sync.h
+++ b/storage/xtradb/include/os0sync.h
@@ -543,7 +543,8 @@ inline
lock_word_t
os_atomic_clear(volatile lock_word_t* ptr)
{
- return(__sync_lock_test_and_set(ptr, 0));
+ __sync_lock_release(ptr);
+ return *ptr;
}
# elif defined(HAVE_IB_GCC_ATOMIC_TEST_AND_SET)
@@ -912,6 +913,7 @@ for synchronization */
architecture. Disable memory barrier for Intel architecture for now. */
# define os_rmb do { } while(0)
# define os_wmb do { } while(0)
+# define os_mb do { } while(0)
# define os_isync do { } while(0)
# define IB_MEMORY_BARRIER_STARTUP_MSG \
"Memory barrier is not used"
diff --git a/storage/xtradb/include/sync0sync.ic b/storage/xtradb/include/sync0sync.ic
index 00db854..fac83a4 100644
--- a/storage/xtradb/include/sync0sync.ic
+++ b/storage/xtradb/include/sync0sync.ic
@@ -181,6 +181,8 @@ mutex_exit_func(
to wake up possible hanging threads if
they are missed in mutex_signal_object. */
+ os_mb;
+
if (mutex_get_waiters(mutex) != 0) {
mutex_signal_object(mutex);
......@@ -6,7 +6,7 @@
## DP: suite depends on them.
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -3606,6 +3606,11 @@ sub mysql_install_db {
@@ -3591,6 +3591,11 @@ sub mysql_install_db {
mtr_appendfile_to_file("$sql_dir/mysql_system_tables_data.sql",
$bootstrap_sql_file);
......
......@@ -11,4 +11,3 @@ fix-spelling-errors.patch
mroonga-disable-switch.patch
mysqld_multi_confd.patch
mysqld_multi.server_lsb-header.patch
innodb_xtradb_10.0.26_regression.patch
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment