diff --git a/libcfs/include/libcfs/libcfs_prim.h b/libcfs/include/libcfs/libcfs_prim.h index 64938a52aa4ef6f668ed3d59ffd88a1afd4fb91c..8dca0a917c6a340be0161889948ba8eb39841f1c 100644 --- a/libcfs/include/libcfs/libcfs_prim.h +++ b/libcfs/include/libcfs/libcfs_prim.h @@ -48,6 +48,8 @@ void cfs_schedule_timeout(cfs_task_state_t state, int64_t timeout); void cfs_schedule(void); void cfs_pause(cfs_duration_t ticks); +int cfs_need_resched(void); +void cfs_cond_resched(void); /* * Wait Queues diff --git a/libcfs/libcfs/linux/linux-prim.c b/libcfs/libcfs/linux/linux-prim.c index f8cdf81ced569212afaa1de36361ced5033e57d7..9019b3fd88ef8ee1a27e46aac2f8820c0f90c571 100644 --- a/libcfs/libcfs/linux/linux-prim.c +++ b/libcfs/libcfs/linux/linux-prim.c @@ -153,6 +153,18 @@ cfs_pause(cfs_duration_t ticks) } EXPORT_SYMBOL(cfs_pause); +int cfs_need_resched(void) +{ + return need_resched(); +} +EXPORT_SYMBOL(cfs_need_resched); + +void cfs_cond_resched(void) +{ + cond_resched(); +} +EXPORT_SYMBOL(cfs_cond_resched); + void cfs_init_timer(cfs_timer_t *t) { init_timer(t); diff --git a/libcfs/libcfs/user-prim.c b/libcfs/libcfs/user-prim.c index ee381d67a72fd523e65cf8ad2abdc2035fd4ad45..bf57b4c9e84be8c1b797958c4368c27a407eac68 100644 --- a/libcfs/libcfs/user-prim.c +++ b/libcfs/libcfs/user-prim.c @@ -143,6 +143,15 @@ cfs_pause(cfs_duration_t d) nanosleep(&s, NULL); } +int cfs_need_resched(void) +{ + return 0; +} + +void cfs_cond_resched(void) +{ +} + /* * Timer */ diff --git a/libcfs/libcfs/winnt/winnt-prim.c b/libcfs/libcfs/winnt/winnt-prim.c index e62a39e4b994384a1472749f13415948af2f6be7..e271e18e8ac0c7064c04a6eecf86d9b83122dc5a 100644 --- a/libcfs/libcfs/winnt/winnt-prim.c +++ b/libcfs/libcfs/winnt/winnt-prim.c @@ -741,6 +741,15 @@ errorout: return NT_SUCCESS(status); } +int cfs_need_resched(void) +{ + return 0; +} + +void cfs_cond_resched(void) +{ +} + /** ** Initialize routines **/ diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 66e874bd41195579cd50f883f9bb5718c61a59b8..6d3b6d6ab5e4bb07823d80371af7331a65d46749 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -1718,6 +1718,12 @@ Bugzilla : 16450 Description: Liblustre build fixes. Details : Liblustre build fixes. +Severity : normal +Bugzilla : 16450 +Description: libcfs: add cfs_{need,cond}_resched() interface. +Details : libcfs: add cfs_{need,cond}_resched() definition and + implementations for Linux, NT, and liblustre. + -------------------------------------------------------------------------------- 2007-08-10 Cluster File Systems, Inc. <info@clusterfs.com>