Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Apr 2007 18:53:53 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/aic7xxx aic79xx.c aic79xx.h aic7xxx.c aic7xxx.h aic7xxx_inline.h
Message-ID:  <200704191853.l3JIrrQQ085303@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
scottl      2007-04-19 18:53:53 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/aic7xxx      aic79xx.c aic79xx.h aic7xxx.c aic7xxx.h 
                         aic7xxx_inline.h 
  Log:
  Up until now, the free SCB pool received only a small initial allocation,
  and new SCBs were allocated on demand later if needed.  This has two
  problems.  First, allocating SCBs involves allocating contiguous memory,
  and if memory is exhausted then the VM will try to page out to satisfy
  the request, leading to recursion and deadlock.  The second problem is
  that it can cause lock order reversals due to parts of the VM still being
  under Giant.
  
  Fix the problem be allocating the full pool at driver attach, when it is
  safe to do so.
  
  Revision  Changes    Path
  1.40      +13 -10    src/sys/dev/aic7xxx/aic79xx.c
  1.27      +1 -1      src/sys/dev/aic7xxx/aic79xx.h
  1.111     +7 -5      src/sys/dev/aic7xxx/aic7xxx.c
  1.56      +1 -1      src/sys/dev/aic7xxx/aic7xxx.h
  1.25      +2 -1      src/sys/dev/aic7xxx/aic7xxx_inline.h



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