On Tue, May 22, 2012 at 06:59:25PM -0700, Wolfgang S. Rupprecht wrote:
> The first sync was to queue up the blocks to be written.  That sync(1)
> call would not block.  The second call would block until the flush
> finished.  The third one was just for luck.  Or something.

"Just to be sure."

Sync under Unix used to be systemwide--dunno if that was changed later, or
is different in Linux.  But it caused some major headaches--essentially,
any user could cause the system to stop what it was doing and sync.

Not too bad if there are only a few users.

Very bad if there are, say, 300 users.

Back around 1983 or so, I was on contract at at Bell Labs working on the
5ESS Field Test Set.  (This was the first portable Unix system--an 8086
with a custom MMU running System III in a box that _just_ fit under
an airline seat; weighed about 40 pounds.  Booted from a floppy--my
work, that.  I walked in one day with a floppy drive on my desk, and
a note that "we need a diskette driver written for the FTS by Friday."
My introduction to driver design in Unix...by fire.)

ANYWAY, one day the development server just...slowed...to...a...crawl.  As
there were a few hundred users, and we were desperately trying to get 5ESS
out the door, this was a Bad Thing(TM).  The OS support staff couldn't find
anything wrong with the system; we had everyone who knew anything looking
for the cause.

About this time, a new guy came to me to show me his nifty vi macro.  He
was absolutely paranoid about losing anything he was editing if the system
crashed.  SO, he wrote a macro that did "sync;sync;sync"...after *every*
keystroke.

We'd found our problem.

Cheers,
--
        Dave Ihnat
        dih...@dminet.com
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org

Reply via email to