Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
00e181af
Commit
00e181af
authored
Feb 03, 2005
by
mronstrom@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/Users/mikron/mysql-4.1
into mysql.com:/Users/mikron/mysql-5.0
parents
6e02e19b
0cae5900
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
14 deletions
+22
-14
ndb/src/kernel/vm/FastScheduler.cpp
ndb/src/kernel/vm/FastScheduler.cpp
+22
-11
ndb/src/kernel/vm/ThreadConfig.cpp
ndb/src/kernel/vm/ThreadConfig.cpp
+0
-3
No files found.
ndb/src/kernel/vm/FastScheduler.cpp
View file @
00e181af
...
@@ -76,19 +76,26 @@ FastScheduler::activateSendPacked()
...
@@ -76,19 +76,26 @@ FastScheduler::activateSendPacked()
globalData
.
loopMax
=
2048
;
globalData
.
loopMax
=
2048
;
}
//FastScheduler::activateSendPacked()
}
//FastScheduler::activateSendPacked()
//------------------------------------------------------------------------
// sendPacked is executed at the end of the loop.
// To ensure that we don't send any messages before executing all local
// packed signals we do another turn in the loop (unless we have already
// executed too many signals in the loop).
//------------------------------------------------------------------------
void
void
FastScheduler
::
doJob
()
FastScheduler
::
doJob
()
{
{
Uint32
init_loopCount
=
0
;
Uint32
TminLoops
=
getBOccupancy
()
+
EXTRA_SIGNALS_PER_DO_JOB
;
Uint32
TloopMax
=
(
Uint32
)
globalData
.
loopMax
;
if
(
TminLoops
<
TloopMax
)
{
TloopMax
=
TminLoops
;
}
//if
if
(
TloopMax
<
MIN_NUMBER_OF_SIG_PER_DO_JOB
)
{
TloopMax
=
MIN_NUMBER_OF_SIG_PER_DO_JOB
;
}
//if
do
{
do
{
Uint32
loopCount
=
0
;
Uint32
loopCount
=
init_loopCount
;
Uint32
TminLoops
=
getBOccupancy
()
+
EXTRA_SIGNALS_PER_DO_JOB
;
Uint32
TloopMax
=
(
Uint32
)
globalData
.
loopMax
;
if
(
TminLoops
<
TloopMax
)
{
TloopMax
=
TminLoops
;
}
//if
if
(
TloopMax
<
MIN_NUMBER_OF_SIG_PER_DO_JOB
)
{
TloopMax
=
MIN_NUMBER_OF_SIG_PER_DO_JOB
;
}
//if
register
Uint32
tHighPrio
=
globalData
.
highestAvailablePrio
;
register
Uint32
tHighPrio
=
globalData
.
highestAvailablePrio
;
register
Signal
*
signal
=
getVMSignals
();
register
Signal
*
signal
=
getVMSignals
();
while
((
tHighPrio
<
LEVEL_IDLE
)
&&
(
loopCount
<
TloopMax
))
{
while
((
tHighPrio
<
LEVEL_IDLE
)
&&
(
loopCount
<
TloopMax
))
{
...
@@ -151,7 +158,7 @@ FastScheduler::doJob()
...
@@ -151,7 +158,7 @@ FastScheduler::doJob()
if
(
globalData
.
sendPackedActivated
==
1
)
{
if
(
globalData
.
sendPackedActivated
==
1
)
{
Uint32
t1
=
theDoJobTotalCounter
;
Uint32
t1
=
theDoJobTotalCounter
;
Uint32
t2
=
theDoJobCallCounter
;
Uint32
t2
=
theDoJobCallCounter
;
t1
+=
loopCount
;
t1
+=
(
loopCount
-
init_loopCount
)
;
t2
++
;
t2
++
;
theDoJobTotalCounter
=
t1
;
theDoJobTotalCounter
=
t1
;
theDoJobCallCounter
=
t2
;
theDoJobCallCounter
=
t2
;
...
@@ -161,7 +168,11 @@ FastScheduler::doJob()
...
@@ -161,7 +168,11 @@ FastScheduler::doJob()
theDoJobTotalCounter
=
0
;
theDoJobTotalCounter
=
0
;
}
//if
}
//if
}
//if
}
//if
}
while
(
getBOccupancy
()
>
MAX_OCCUPANCY
);
init_loopCount
=
loopCount
;
sendPacked
();
}
while
((
getBOccupancy
()
>
MAX_OCCUPANCY
)
||
((
init_loopCount
<
TloopMax
)
&&
(
globalData
.
highestAvailablePrio
<
LEVEL_IDLE
)));
}
//FastScheduler::doJob()
}
//FastScheduler::doJob()
void
FastScheduler
::
sendPacked
()
void
FastScheduler
::
sendPacked
()
...
...
ndb/src/kernel/vm/ThreadConfig.cpp
View file @
00e181af
...
@@ -173,9 +173,6 @@ void ThreadConfig::ipControlLoop()
...
@@ -173,9 +173,6 @@ void ThreadConfig::ipControlLoop()
// until all buffers are empty or until we have executed 2048 signals.
// until all buffers are empty or until we have executed 2048 signals.
//--------------------------------------------------------------------
//--------------------------------------------------------------------
globalScheduler
.
doJob
();
globalScheduler
.
doJob
();
globalScheduler
.
sendPacked
();
}
//while
}
//while
globalData
.
incrementWatchDogCounter
(
6
);
globalData
.
incrementWatchDogCounter
(
6
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment