[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4892FC11.4020105@redhat.com>
Date: Fri, 01 Aug 2008 08:05:37 -0400
From: Ric Wheeler <rwheeler@...hat.com>
To: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
Josef Bacik <jbacik@...hat.com>, linux-fsdevel@...r.kernel.org,
Chris Mason <chris.mason@...cle.com>,
linux-kernel@...r.kernel.org
Subject: high resolution timers, scheduling & sleep granularity
Hi Thomas & Ingo,
Josef has been working on some patches to try and get ext3/4 to
dynamically detect the latency of a storage device and use that base
latency to tune the amount of time we sleep waiting for others to join
in a transaction. The logic in question lives in jbd/transaction.c
(transaction_stop).
The code was originally developed to try and allow multiple threads to
join in a big, slow transaction. For example, transacations that write
to a slow ATA or S-ATA drive take in the neighborhood of 10 to 20 ms.
Faster devices, for example a disk array, can complete the transaction
in 1.3 ms. Even higher speed SSD devices boast of a latency of 0.1ms,
not to mention RAM disks ;-)
The current logic makes us wait way too long, especially with a 250HZ
kernel since we sleep many times longer than it takes to complete the IO ;-)
Do either of you have any thoughts on how to get a better, fine grained
sleep capability that we could use that would allow us to sleep in
sub-jiffie chunks?
Regards,
Ric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists