[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dlm-devel
Subject:    [Dlm-devel] question about the dlm scheduler
From:       Alan Jones <alan.jones () sun ! com>
Date:       2001-04-06 18:30:57
[Download RAW message or body]

Ian/Peter,

Here are the events that I see:

1. One node initializes and drains it's work queue; clm_master_loop()
   is block for the semaphore in dlm_workqueue_get_work().

2. A second node boots, sees the first in the membership and sends
   CLMR_NEW to the first.

3. The first processes CLMR_NEW and queue CLMR_DO_NODE_UP to the
   "scheduler".  This is done in the CCCP delivery thread which
   called clmr_cntrl() which then returns to sleep on RECVMSG().

4. Processing scheduler events is intended to be done in clm_master_loop(),
   however, nothing has signaled that process to wake up.


As this worked on AIX, I suspect the original code had a different
structure.  Perhaps the message interface was polled in the master
loop.  Perhaps the "scheduler" had it's own thread that blocked on the
scheduler queue.  Rather than fight the trend of the code, I'd like to
better understand how the original worked.  Can you please comment on
the above and/or release some pre Linux port code as a reference?

Alan


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic