Thanks for the explanation. I'm trying to understand what consequences for performance can be expected.
[EMAIL PROTECTED] (Thomas Bushnell, BSG) writes: > There are cases (as noted before) where the following sequence arises: > > write block A > write block B > write block A again > > and where the writes *must* occur in that sequence. (This often > happens when block A contains two inodes, and block B must be written > *after* the update of the first, and *before* the update of the > second.) Does anybody have any idea how often this case occurs with typical activities like compilation? > while (table contains "block B must be written before block A" > [TRANSITIVELY, even if not identically]) > mark table "waiting for block A to be written" > ask kernel to pageout block A > wait for condition > mark table "block A must be written before block B" With the current code, dependent modifications of A, B, A, results in modify(A); sync modify(B); sync modify(A); synced sometime later The new scheme would change that to modify(A); modify(B); noting dependency sync(A); modify(A); note new dependency all assuming that so spontaneous syncing occurs between the modifications. So in this case we save one sync. Did I get this right? Regards, /Niels _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd