Work Q Panic - VxWorks

This is a discussion on Work Q Panic - VxWorks ; Can smeone tell me how to simulate Work Queue Panic situation? I dont have any hardware can use only simulator....

+ Reply to Thread
Results 1 to 2 of 2

Thread: Work Q Panic

  1. Work Q Panic

    Can smeone tell me how to simulate Work Queue Panic situation?
    I dont have any hardware can use only simulator.


  2. Re: Work Q Panic

    The following may be the easiest way.

    1. Determine the size of the work queue. Off hand, I think is
    configurable. The CDF parameter is called WORK_Q_SIZE or something
    like that. I don't have access to VxWorks anymore so I can't say for
    certain.

    2. Create an empty counting semaphore.

    3. Pend at least WORK_Q_SIZE + 1 tasks on that empty counting
    semaphore by calling semTake(, WAITFOREVER) for each of
    those tasks.

    4. Create a watchdog that will fire once.

    5. The watchdog should perform a semGive() for each of
    those tasks.

    Why this should work.
    If I remember correctly, watchdogs run in an interrupt context while
    is set to TRUE. This means that any kernel work it
    attempts to do will be deferred (added to the work queue). As the
    number of requeusted kernel operations will exceed the size of the
    work queue, this should generate a panic.

    Peter Mitsis


    On Jan 28, 10:48*pm, Zandu wrote:
    > Can smeone tell me how to simulate Work Queue Panic situation?
    > I dont have any hardware can use only simulator.



+ Reply to Thread