mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 11:01:06 -04:00
staging/lustre: avoid unnecessary timeval conversion
The lnet_eq_wait_locked tries to wait for time to pass or an event to wake up the wait queue. The entire logic seems to be a very elaborate reimplementation of wait_event(). I'm not trying to clean up the entire logic here, but this at least gets rid of the multi-way conversion between miliseconds, timeval and jiffies. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c8ff18106c
commit
a11ef8ca94
@@ -341,12 +341,9 @@ __must_hold(&the_lnet.ln_eq_wait_lock)
|
||||
schedule();
|
||||
|
||||
} else {
|
||||
struct timeval tv;
|
||||
|
||||
now = cfs_time_current();
|
||||
schedule_timeout(cfs_time_seconds(tms) / 1000);
|
||||
cfs_duration_usec(cfs_time_sub(cfs_time_current(), now), &tv);
|
||||
tms -= (int)(tv.tv_sec * 1000 + tv.tv_usec / 1000);
|
||||
now = jiffies;
|
||||
schedule_timeout(msecs_to_jiffies(tms));
|
||||
tms -= jiffies_to_msecs(jiffies - now);
|
||||
if (tms < 0) /* no more wait but may have new event */
|
||||
tms = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user