[EMAIL PROTECTED] writes: > I was reading the ext2fs sourcecode and have a question about it. Ext2fs > uses pokel_* functions. Can someone please explain me what a pokel is and > what it is used for in ext2fs?
A pokel is a list of poked locations, that is, memory locations that have been modified. This is so that when we do a sync of the disk, we don't tell the kernel to update every page, but only those which we know we changed. This is all because of a Mach deficiency; it is not very efficient at handling seek operations on large objects. It goes one by one through each page, sees if it is modified, and then writes it if it has been. A better algorithm, for large objects, would be to invert the algorithm and go through the pages in core and see if they are modified and belong to the synced object/region, and then write them. Even better would be a data structure specifically designed to deal with this particular operation. If we didn't use the pokel strategy, then a sync operation would cause a notable several second pause in the system while the kernel checked each page of your disk to see if that page had been modified. _______________________________________________ Help-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-hurd
