Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 May 2006 10:05:24 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/opencrypto crypto.c
Message-ID:  <200605221005.k4MA5Oux035800@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
pjd         2006-05-22 10:05:24 UTC

  FreeBSD src repository

  Modified files:
    sys/opencrypto       crypto.c 
  Log:
  Improve the code responsible for waking up the crypto_proc thread.
  Checking if the queues are empty is not enough for the crypto_proc thread
  (it is enough for the crypto_ret_thread), because drivers can be marked
  as blocked. In a situation where we have operations related to different
  crypto drivers in the queue, it is possible that one driver is marked as
  blocked. In this case, the queue will not be empty and we won't wakeup
  the crypto_proc thread to execute operations for the others drivers.
  
  Simply setting a global variable to 1 when we goes to sleep and setting
  it back to 0 when we wake up is sufficient. The variable is protected
  with the queue lock.
  
  Revision  Changes    Path
  1.24      +11 -14    src/sys/opencrypto/crypto.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605221005.k4MA5Oux035800>