[haiku-commits] r36531 - in haiku/trunk/src: add-ons/kernel/generic/dpc system/kernel system/kernel/cache system/kernel/slab system/kernel/vm

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 29 Apr 2010 17:23:29 +0200 (CEST)

Author: bonefish
Date: 2010-04-29 17:23:29 +0200 (Thu, 29 Apr 2010)
New Revision: 36531
Changeset: http://dev.haiku-os.org/changeset/36531/haiku

Modified:
   haiku/trunk/src/add-ons/kernel/generic/dpc/dpc.c
   haiku/trunk/src/system/kernel/cache/block_cache.cpp
   haiku/trunk/src/system/kernel/heap.cpp
   haiku/trunk/src/system/kernel/kernel_daemon.cpp
   haiku/trunk/src/system/kernel/low_resource_manager.cpp
   haiku/trunk/src/system/kernel/slab/Slab.cpp
   haiku/trunk/src/system/kernel/thread.cpp
   haiku/trunk/src/system/kernel/vm/vm_page.cpp
Log:
Replaced no longer necessary send_signal_etc() work-arounds for
resume_thread().


Modified: haiku/trunk/src/add-ons/kernel/generic/dpc/dpc.c
===================================================================
--- haiku/trunk/src/add-ons/kernel/generic/dpc/dpc.c    2010-04-29 15:10:37 UTC 
(rev 36530)
+++ haiku/trunk/src/add-ons/kernel/generic/dpc/dpc.c    2010-04-29 15:23:29 UTC 
(rev 36531)
@@ -12,7 +12,6 @@
 
 #include <KernelExport.h>
 
-#include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 
@@ -60,7 +59,7 @@
 
                release_spinlock(&queue->lock);
                restore_interrupts(former);
-               
+
                dpc.function(dpc.arg);
        }
 
@@ -69,7 +68,7 @@
        while (queue->count--) {
                dpc = queue->slots[queue->head];
                queue->head = (queue->head++) % queue->size;
-               dpc.function(dpc.arg);  
+               dpc.function(dpc.arg);
        }
 
        // Now, let's die quietly, ignored by all... sigh.
@@ -85,20 +84,20 @@
 {
        char str[64];
        dpc_queue *queue;
-       
+
        if (!handle)
                return B_BAD_VALUE;
 
        queue = malloc(sizeof(dpc_queue) + DPC_QUEUE_SIZE * sizeof(dpc_slot));
        if (!queue)
                return B_NO_MEMORY;
-       
+
        queue->head = queue->tail = 0;
        queue->size = DPC_QUEUE_SIZE;
        queue->count = 0;
        B_INITIALIZE_SPINLOCK(&queue->lock);    // Init the spinlock
 
-       snprintf(str, sizeof(str), "%.*s_wakeup_sem", 
+       snprintf(str, sizeof(str), "%.*s_wakeup_sem",
                (int) sizeof(str) - 11, name);
 
        queue->wakeup_sem = create_sem(0, str);
@@ -107,7 +106,7 @@
                free(queue);
                return status;
        }
-       
+
        // Fire a kernel thread to actually handle (aka call them!)
        // the queued/deferred procedure calls
        queue->thread = spawn_kernel_thread(dpc_thread, name, priority, queue);
@@ -117,7 +116,7 @@
                free(queue);
                return status;
        }
-       send_signal_etc(queue->thread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(queue->thread);
 
        *handle = queue;
 
@@ -139,10 +138,10 @@
        // Close the queue: queue_dpc() should knows we're closing:
        former = disable_interrupts();
        acquire_spinlock(&queue->lock);
-       
+
        thread = queue->thread;
        queue->thread = -1;
-       
+
        release_spinlock(&queue->lock);
        restore_interrupts(former);
 
@@ -151,7 +150,7 @@
        wait_for_thread(thread, &exit_value);
 
        free(queue);
-       
+
        return B_OK;
 }
 
@@ -162,14 +161,14 @@
        dpc_queue *queue = handle;
        cpu_status former;
        status_t status = B_OK;
-       
+
        if (!queue || !function)
                return B_BAD_VALUE;
 
        // Try to be safe being called from interrupt handlers:
        former = disable_interrupts();
        acquire_spinlock(&queue->lock);
-       
+
        if (queue->thread < 0) {
                // Queue thread is dying...
                status = B_CANCELED;
@@ -180,7 +179,7 @@
                queue->slots[queue->tail].function = function;
                queue->slots[queue->tail].arg      = arg;
                queue->tail = (queue->tail++) % queue->size;
-               queue->count++; 
+               queue->count++;
        }
 
        release_spinlock(&queue->lock);
@@ -191,7 +190,7 @@
                // Notice that interrupt handlers should returns 
B_INVOKE_SCHEDULER to
                // shorten DPC latency as much as possible...
                status = release_sem_etc(queue->wakeup_sem, 1, 
B_DO_NOT_RESCHEDULE);
-       
+
        return status;
 }
 
@@ -217,7 +216,7 @@
                0,
                std_ops
        },
-       
+
        new_dpc_queue,
        delete_dpc_queue,
        queue_dpc

Modified: haiku/trunk/src/system/kernel/cache/block_cache.cpp
===================================================================
--- haiku/trunk/src/system/kernel/cache/block_cache.cpp 2010-04-29 15:10:37 UTC 
(rev 36530)
+++ haiku/trunk/src/system/kernel/cache/block_cache.cpp 2010-04-29 15:23:29 UTC 
(rev 36531)
@@ -7,7 +7,6 @@
 #include <block_cache.h>
 
 #include <unistd.h>
-#include <signal.h>
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
@@ -2602,7 +2601,7 @@
        sNotifierWriterThread = spawn_kernel_thread(&block_notifier_and_writer,
                "block notifier/writer", B_LOW_PRIORITY, NULL);
        if (sNotifierWriterThread >= B_OK)
-               send_signal_etc(sNotifierWriterThread, SIGCONT, 
B_DO_NOT_RESCHEDULE);
+               resume_thread(sNotifierWriterThread);
 
 #if DEBUG_BLOCK_CACHE
        add_debugger_command_etc("block_caches", &dump_caches,

Modified: haiku/trunk/src/system/kernel/heap.cpp
===================================================================
--- haiku/trunk/src/system/kernel/heap.cpp      2010-04-29 15:10:37 UTC (rev 
36530)
+++ haiku/trunk/src/system/kernel/heap.cpp      2010-04-29 15:23:29 UTC (rev 
36531)
@@ -15,7 +15,6 @@
 #include <int.h>
 #include <kernel.h>
 #include <lock.h>
-#include <signal.h>
 #include <string.h>
 #include <team.h>
 #include <thread.h>
@@ -2176,7 +2175,7 @@
 
        dprintf("heap_init_post_thread(): created VIP heap: %p\n", sVIPHeap);
 
-       send_signal_etc(sHeapGrowThread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(sHeapGrowThread);
 
 #endif // !USE_SLAB_ALLOCATOR_FOR_MALLOC
 

Modified: haiku/trunk/src/system/kernel/kernel_daemon.cpp
===================================================================
--- haiku/trunk/src/system/kernel/kernel_daemon.cpp     2010-04-29 15:10:37 UTC 
(rev 36530)
+++ haiku/trunk/src/system/kernel/kernel_daemon.cpp     2010-04-29 15:23:29 UTC 
(rev 36531)
@@ -7,7 +7,6 @@
 #include <kernel_daemon.h>
 
 #include <new>
-#include <signal.h>
 #include <stdlib.h>
 
 #include <KernelExport.h>
@@ -75,7 +74,7 @@
        if (fThread < 0)
                return fThread;
 
-       send_signal_etc(fThread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(fThread);
        fUnregisterCondition.Init(this, name);
 
        return B_OK;
@@ -144,7 +143,7 @@
                                        locker.Unlock();
 
                                        entry.Wait();
-                                       
+
                                        locker.Lock();
                                }
                        }

Modified: haiku/trunk/src/system/kernel/low_resource_manager.cpp
===================================================================
--- haiku/trunk/src/system/kernel/low_resource_manager.cpp      2010-04-29 
15:10:37 UTC (rev 36530)
+++ haiku/trunk/src/system/kernel/low_resource_manager.cpp      2010-04-29 
15:23:29 UTC (rev 36531)
@@ -8,7 +8,6 @@
 #include <low_resource_manager.h>
 
 #include <new>
-#include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 
@@ -364,7 +363,7 @@
 
        thread_id thread = spawn_kernel_thread(&low_resource_manager,
                "low resource manager", B_LOW_PRIORITY, NULL);
-       send_signal_etc(thread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(thread);
 
        add_debugger_command("low_resource", &dump_handlers,
                "Dump list of low resource handlers");

Modified: haiku/trunk/src/system/kernel/slab/Slab.cpp
===================================================================
--- haiku/trunk/src/system/kernel/slab/Slab.cpp 2010-04-29 15:10:37 UTC (rev 
36530)
+++ haiku/trunk/src/system/kernel/slab/Slab.cpp 2010-04-29 15:23:29 UTC (rev 
36531)
@@ -11,7 +11,6 @@
 
 #include <algorithm>
 #include <new>
-#include <signal.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -809,5 +808,5 @@
                return;
        }
 
-       send_signal_etc(objectCacheResizer, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(objectCacheResizer);
 }

Modified: haiku/trunk/src/system/kernel/thread.cpp
===================================================================
--- haiku/trunk/src/system/kernel/thread.cpp    2010-04-29 15:10:37 UTC (rev 
36530)
+++ haiku/trunk/src/system/kernel/thread.cpp    2010-04-29 15:23:29 UTC (rev 
36531)
@@ -2162,7 +2162,7 @@
                B_DISPLAY_PRIORITY, NULL);
        if (undertakerThread < 0)
                panic("Failed to create undertaker thread!");
-       send_signal_etc(undertakerThread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(undertakerThread);
 
        // set up some debugger commands
        add_debugger_command_etc("threads", &dump_thread_list, "List all 
threads",

Modified: haiku/trunk/src/system/kernel/vm/vm_page.cpp
===================================================================
--- haiku/trunk/src/system/kernel/vm/vm_page.cpp        2010-04-29 15:10:37 UTC 
(rev 36530)
+++ haiku/trunk/src/system/kernel/vm/vm_page.cpp        2010-04-29 15:23:29 UTC 
(rev 36531)
@@ -8,7 +8,6 @@
  */
 
 
-#include <signal.h>
 #include <string.h>
 #include <stdlib.h>
 
@@ -2955,7 +2954,7 @@
 
        thread_id thread = spawn_kernel_thread(&page_scrubber, "page scrubber",
                B_LOWEST_ACTIVE_PRIORITY, NULL);
-       send_signal_etc(thread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(thread);
 
        // start page writer
 
@@ -2963,7 +2962,7 @@
 
        thread = spawn_kernel_thread(&page_writer, "page writer",
                B_NORMAL_PRIORITY + 1, NULL);
-       send_signal_etc(thread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(thread);
 
        // start page daemon
 
@@ -2971,7 +2970,7 @@
 
        thread = spawn_kernel_thread(&page_daemon, "page daemon",
                B_NORMAL_PRIORITY, NULL);
-       send_signal_etc(thread, SIGCONT, B_DO_NOT_RESCHEDULE);
+       resume_thread(thread);
 
        return B_OK;
 }


Other related posts:

  • » [haiku-commits] r36531 - in haiku/trunk/src: add-ons/kernel/generic/dpc system/kernel system/kernel/cache system/kernel/slab system/kernel/vm - ingo_weinhold