mariadb/include
Konstantin Osipov 7edfae4e86 Backport of:
-------------------------------------------------------------
revno: 2877
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: 35164-6.0
timestamp: Wed 2008-10-15 19:53:18 -0300
message:
Bug#35164: Large number of invalid pthread_attr_setschedparam calls
Bug#37536: Thread scheduling causes performance degradation at low thread count
Bug#12702: Long queries take 100% of CPU and freeze other applications under Windows

The problem is that although having threads with different priorities
yields marginal improvements [1] in some platforms [2], relying on some
statically defined priorities (QUERY_PRIOR and WAIT_PRIOR) to play well
(or to work at all) with different scheduling practices and disciplines
is, at best, a shot in the dark as the meaning of priority values may
change depending on the scheduling policy set for the process.

Another problem is that increasing priorities can hurt other concurrent
(running on the same hardware) applications (such as AMP) by causing
starvation problems as MySQL threads will successively preempt lower
priority processes. This can be evidenced by Bug#12702.

The solution is to not change the threads priorities and rely on the
system scheduler to perform its job. This also enables a system admin
to increase or decrease the scheduling priority of the MySQL process,
if intended.

Furthermore, the internal wrappers and code for changing the priority
of threads is being removed as they are now unused and ancient.

1. Due to unintentional side effects. On Solaris this could artificially
help benchmarks as calling the priority changing syscall millions of
times is more beneficial than the actual setting of the priority.

2. Where it actually works. It has never worked on Linux as the default
scheduling policy SCHED_OTHER only accepts the static priority 0.
2009-11-23 19:57:31 +03:00
..
atomic manual merge: mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge 2009-10-22 23:30:28 +01:00
mysql unit tests for my_vsnprintf, 2009-11-04 00:15:16 +01:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
base64.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
config-netware.h Backport of: 2009-11-23 19:57:31 +03:00
config-win.h Backport of: 2009-11-21 13:15:02 +03:00
decimal.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
errmsg.h Merge from mysql-next-mr. 2009-10-28 10:55:44 +03:00
ft_global.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
hash.h Backport of: 2009-10-14 20:37:38 +04:00
heap.h Added support for 'internal temporary tables' in HEAP tables. 2007-07-25 01:58:12 +03:00
help_end.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
help_start.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
keycache.h Bug#17332 - changing key_buffer_size on a running server 2009-09-07 18:35:37 +02:00
m_ctype.h WL#751 Error message construction, backport 2009-10-15 17:23:43 +05:00
m_string.h Manual merge of mysql-next-mr-runtime upstream. 2009-11-19 21:48:08 -02:00
Makefile.am WL#4903 Plugin Service API part I 2009-11-02 21:05:42 +01:00
my_aes.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
my_alarm.h Many files: 2006-12-23 20:17:15 +01:00
my_alloc.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_atomic.h manual merge: mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge 2009-10-22 23:30:28 +01:00
my_attribute.h Bug#25118 ATTRIBUTE_FORMAT_FPTR undeclared in m_ctype.h 2007-04-12 00:43:25 +02:00
my_base.h Backporting revision from 6.0: 2009-10-16 19:21:54 +04:00
my_bit.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
my_bitmap.h Bug#31552 Replication breaks when deleting rows from out-of-sync table 2007-12-12 12:14:59 +02:00
my_dbug.h backport of dbug extensions from 6.0: 2009-10-30 19:13:58 +01:00
my_dir.h This is the downport of 2009-09-11 22:26:35 +02:00
my_getopt.h Bug#39289 libmysqld.a calls exit() upon error 2008-10-27 13:57:59 +04:00
my_global.h backport of dbug extensions from 6.0: 2009-10-30 19:13:58 +01:00
my_handler.h Backporting WL#4164 Two-byte collation IDs 2009-10-15 15:17:32 +05:00
my_libwrap.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
my_list.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_md5.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
my_net.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_no_pthread.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
my_nosys.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_pthread.h Backport of: 2009-11-23 19:57:31 +03:00
my_stacktrace.h Bug#37003 Tests sporadically crashes with embedded server 2008-06-19 11:02:32 -03:00
my_sys.h WL#4903 Plugin Service API part I 2009-11-02 21:05:42 +01:00
my_time.h Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug26294/my50-bug26294 2008-04-03 13:14:57 -04:00
my_tree.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_trie.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_uctype.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
my_user.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_vle.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_xml.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myisam.h Manual merge from mysql-trunk-merge. 2009-11-06 17:20:27 +03:00
myisammrg.h Bug#45800 crash when replacing into a merge table and there is a duplicate 2009-07-30 16:04:41 +05:30
myisampack.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
mysql.h Manual merge from mysql-trunk-merge. 2009-11-06 17:20:27 +03:00
mysql.h.pp Manual merge from mysql-trunk-merge. 2009-11-06 17:20:27 +03:00
mysql_com.h Bug #33544 UDF_INIT member decimals initialized wrong with 2009-11-11 21:19:41 +01:00
mysql_embed.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
mysql_time.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql_version.h.in Bug #15327: configure: --with-tcp-port option being partially ignored 2007-09-13 16:19:46 +02:00
mysys_err.h WL#2936 2007-03-02 08:43:45 -08:00
probes_mysql.d.base Fixing some issues in the build when using DTrace probes 2009-03-18 10:04:15 +00:00
probes_mysql.h Backport of DTrace patches from 6.0 2008-12-20 11:01:41 +01:00
probes_mysql_nodtrace.h Fixed DTrace-related build failures. 2008-12-23 12:05:30 +03:00
queues.h Bug #31890 Partitions: ORDER BY DESC in InnoDB not working. 2007-11-14 22:20:31 +04:00
rijndael.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
service_versions.h WL#4903 Plugin Service API part I 2009-11-02 21:05:42 +01:00
sha1.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
sql_common.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
sslopt-case.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
sslopt-longopts.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
sslopt-vars.h WL#5016: Fix header file include guards 2009-09-23 23:32:31 +02:00
t_ctype.h Many files: 2006-12-23 20:17:15 +01:00
thr_alarm.h fixes for build failures due to my yesterday's changeset forbidding 2008-02-19 18:45:11 +01:00
thr_lock.h Bug#44164: TL_WRITE has no description in lock_descriptions[] 2009-04-14 14:05:32 +02:00
typelib.h Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines 2007-04-27 19:09:39 +02:00
violite.h Backport the implementation of vio_pending from 6.0-codebase. 2009-11-21 02:12:23 +03:00