Small performance optimization: wake up IO/processing threads in LIFO order.

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@928 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2009-06-30 16:13:48 +00:00
parent 700eb30c9c
commit fb0256ba8a
4 changed files with 23 additions and 4 deletions
+2 -1
View File
@@ -1745,7 +1745,8 @@ static int dev_user_get_next_cmd(struct scst_user_dev *dev,
while (1) {
if (!test_cmd_lists(dev)) {
add_wait_queue_exclusive(&dev->cmd_lists.cmd_list_waitQ,
add_wait_queue_exclusive_head(
&dev->cmd_lists.cmd_list_waitQ,
&wait);
for (;;) {
set_current_state(TASK_INTERRUPTIBLE);
+2 -1
View File
@@ -3735,7 +3735,8 @@ int scst_cmd_thread(void *arg)
init_waitqueue_entry(&wait, current);
if (!test_cmd_lists(p_cmd_lists)) {
add_wait_queue_exclusive(&p_cmd_lists->cmd_list_waitQ,
add_wait_queue_exclusive_head(
&p_cmd_lists->cmd_list_waitQ,
&wait);
for (;;) {
set_current_state(TASK_INTERRUPTIBLE);