Re: sync_file_range(SYNC_FILE_RANGE_WRITE) blocks?

From: Pavel Machek
Date: Fri May 30 2008 - 16:43:39 EST


Hi!

> > sync_file_range(SYNC_FILE_RANGE_WRITE) blocks ... which makes problem
> > for s2disk: there we want to start writeout as early as possible
> > (system is going to shut down after write, and we need the data on
> > disk).
> >
> > Unfortuantely, sync_file_range(SYNC_FILE_RANGE_WRITE) blocks, which
> > does not work for us. Is there non-blocking variant? "Start writeout
> > on this fd, but don't block me"?
>
> I guess there are lots of reasons why it may block (get rescheduled)
> briefly, but why would that matter to you? Are you saying that its
> whole design has got broken somehow, and now SYNC_FILE_RANGE_WRITE
> is behaving as if SYNC_FILE_RANGE_WAIT_AFTER had been supplied too?

It appears to me like it includes WAIT_AFTER, yes.

I was not sure what the expected behaviour was... lets say we have a
lot of dirty data (like 40MB) and system with enough free memory. Is
it reasonable to expect SYNC_FILE_RANGE_WRITE to return pretty much
immediately? (like in less than 10msec)? Because it seems to take more
like a second here...

(Underlying 'file' is actually /dev/sda1 -- aka my swap partition, but
that should not matter --right?)
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/