Commit graph

32 commits

Author SHA1 Message Date
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
Ignacio Galarza
8ef28b4962 Auto-merge 2009-07-31 15:28:15 -04:00
Ignacio Galarza
6df2af22ce Bug#17270 - mysql client tool could not find ../share/charsets folder and fails.
- Define and pass compile time path variables as pre-processor definitions to 
  mimic the makefile build.
- Set new CMake version and policy requirements explicitly.
- Changed DATADIR to MYSQL_DATADIR to avoid conflicting definition in 
  Platform SDK header ObjIdl.h which also defines DATADIR.
2009-07-31 15:22:02 -04:00
MySQL Build Team
6d1d03f78d A few portability tweaks for Netware, SCO and QNX 2009-05-01 19:35:04 +02:00
kent@mysql.com/kent-amd64.(none)
0886cc3bed Many files:
Put back old code to check stack direction at configure time
2007-07-23 23:54:55 +02:00
kent@mysql.com/kent-amd64.(none)
a069db06a6 sql_parse.cc, config-win.h, config-netware.h:
Don't try determine stack direction at configure time
compiler_flag.m4:
  Use AC_TRY_COMPILE and AC_TRY_LINK instead of AC_TRY_RUN where possible
misc.m4, configure.in:
  Use fourth argument to AC_TRY_RUN, to be used in cross compilation
  Don't try determine stack direction at configure time
2007-05-27 23:21:03 +02:00
kent@kent-amd64.(none)
be15e3bc15 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1
2006-12-23 20:20:40 +01:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
gni/root@dev3-127.(none)
49e96f3bc9 Merge dev3-127.(none):/mnt/mysql/home/ngb/bug19873
into  dev3-127.(none):/mnt/mysql/home/ngb/mysql-5.1-bug19873
2006-08-29 13:43:04 +08:00
jani@ua141d10.elisa.omakaista.fi
88b91d1e02 Fix for bug#21537, "Error at startup"
These variables must be defined for Netware, or it fails
to recognize hard paths starting from the device.
2006-08-16 19:30:46 +03:00
jani@ua141d10.elisa.omakaista.fi
2dcc483e6c Several Netware specific fixes. 2006-02-02 16:22:31 +02:00
jani@ua141d10.elisa.omakaista.fi
617585eb33 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0
2006-01-12 20:28:23 +02:00
jani@ua141d10.elisa.omakaista.fi
8c6a32b997 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.0
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
2006-01-12 17:47:58 +02:00
jani@ua141d10.elisa.omakaista.fi
af845f6eff NetWare specific change to increase thread stack size.
Changes to Netware specific mysqld_safe.c
2006-01-12 15:10:12 +02:00
serg@serg.mylan
d5d6b51422 remove "defined(HAVE_ARCHIVE_DB) && !defined(__NETWARE__)" unmaintainably scattered all over the source 2005-12-24 14:32:50 +01:00
sergefp@mysql.com
09a4d0c7a7 4.1->5.0 merge 2005-10-29 02:36:57 +04:00
jani@a193-229-222-105.elisa-laajakaista.fi
1fdee50f16 Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.0
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
2005-10-28 14:04:06 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
28cb5aefcf NetWare specific change to use a LibC API instead of a
kernel function to prevent CPU hogs.
2005-10-28 14:01:00 +03:00
jani@ua141d10.elisa.omakaista.fi
3e599c0907 Imported fixes from 4.1 and 5.0 to 4.0. 2005-10-25 16:56:25 +03:00
elliot@mysql.com
55b81af671 Merge mysql.com:/home/emurphy/src/bk-clean/mysql-4.1
into  mysql.com:/home/emurphy/src/work/mysql-5.0
2005-08-19 15:29:30 -04:00
jani@a193-229-222-105.elisa-laajakaista.fi
c6ee26ab45 Some minor fixes for Netware. These were required after we started building
against a later version of libc.
2005-08-18 21:26:25 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
3bfa514655 Changes for Netware. This is needed when building against newer Libc
than we've used before.
2005-08-18 21:22:35 +03:00
bar@mysql.com
0255803b4e Merge mysql.com:/usr/home/bar/mysql-4.1.b10201
into  mysql.com:/usr/home/bar/mysql-5.0
2005-07-26 13:25:18 +05:00
jani@a193-229-222-105.elisa-laajakaista.fi
ca0803a024 Undefined RINT for Netware. 2005-07-23 01:11:29 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
3df73db1cf Applied some Netware related patches. 2005-06-29 14:02:11 +03:00
heikki@hundin.mysql.fi
2aa44dd98d Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-03-21 22:29:02 +02:00
jani@a193-229-222-105.elisa-laajakaista.fi
a34ee2c900 A fix for Netware. 2005-03-21 18:11:11 +02:00
jani@ua141d10.elisa.omakaista.fi
f3e73e26d7 A patch for Netware. 2005-01-13 19:24:54 +02:00
monty@mysql.com
47cc3af0e9 Always enable HAVE_COMPRESS on netware 2004-05-28 01:02:20 +03:00
monty@mysql.com
f2e1e3ce4c Added patches from Novell 2004-05-25 22:00:14 +03:00
greg@mysql.com
6c7b1b2f6a Changes from Novell for various NetWare-only files, post-4.0.12 2003-03-21 15:43:38 -05:00
monty@mashka.mysql.fi
689578a099 Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
2003-01-28 08:38:28 +02:00