Re: 8.2-PRERELEASE: live deadlock,

看板FB_stable作者時間15年前 (2011/01/09 04:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
Hello, Kostik. You wrote 8 =D1=CE=D7=C1=D2=D1 2011 =C7., 22:56:13: >> And, if it is "classic deadlock" is here any "classical" solution to >> it? > Do not allocate during bio processing. So, if GEOM need some cache, it needs pre-allocate it and implements custom allocator over allocated chunk? :( And what is "bio processing" in this context? geom_raid5 puts all bios into the (private, internal) queue and geom_start() exits immediately, and bio could spend rather long time in queue (if it is write request) before it will be sent to underlying provider. And, yes, it could be combined with other bios to form new one (why allocation of new bio is needed). So, is "bio processing" a whole time before bio is complete, or only geom_start() call or what? Also, RAID5 needs to read data (other stripes) and write data (new checksum) when "write" bio is processed. BTW, "system" geom_raid3 and geom_vinum (with raid5 volume) need to do the same to maintain checksums, so they could deadlock (in theory) too, if problem is "allocate memory during bio processing". And geom_mirror needs allocate bio for second (third, ...) component on every write... --=20 // Black Lion AKA Lev Serebryakov <lev@FreeBSD.org> _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
文章代碼(AID): #1DACd3jc (FB_stable)
討論串 (同標題文章)
文章代碼(AID): #1DACd3jc (FB_stable)