2009/5/4 Alok Aggarwal <Alok.Aggarwal at sun.com>: > I am sending this code review request on behalf > of Moinak Ghosh (CC'd). Please review the changes > for - > > 6802997 Clofi memory allocation behavior can be improved > > Webrev location - > > http://cr.opensolaris.org/~aalok/sponsor-6802997/ > > Moinak's testing has showed that these changes result > in a performance improvement during installation.
In lofi.c, lines 1123 .. 1133: 1123 mutex_enter(&lsp->ls_comp_bufs_lock); 1124 for (i = 0; i < lofi_taskq_nthreads; i++) { 1125 if (lsp->ls_comp_bufs[i].inuse == 0) { 1126 lsp->ls_comp_bufs[i].inuse = 1; 1127 j = i; 1128 break; 1129 } 1130 } 1131 1132 mutex_exit(&lsp->ls_comp_bufs_lock); 1133 ASSERT(j < lofi_taskq_nthreads); I think this needs to handle the case when all buffers are in use. With the current code we exit from the loop with 'j' uninitialized, and could panic a debug kernel with the ASSERT(j < lofi_taskq_nthreads)