On Thu, 24 May 2012 11:31:26 +0800 Shaohua Li <shli@xxxxxxxxxx> wrote: > On Thu, May 24, 2012 at 01:09:12PM +1000, NeilBrown wrote: > > Not necessarily. It might queue it: > > if (current->bio_list) { > > bio_list_add(current->bio_list, bio); > > return; > > } > > Ah, yes. Looks we can workaround it to increase bioset entry number to > raid_disks*2. There isn't too much memory wasted with it. No, that doesn't work. There might be raid_disk*2 separate threads which have each allocated on entry from the pool, and then they all block waiting for another. Adding the pool can change the probability of a deadlock but not the possibility. NeilBrown
Attachment:
signature.asc
Description: PGP signature