Whamcloud - gitweb
b=3554
authorrread <rread>
Thu, 29 Jul 2004 20:23:26 +0000 (20:23 +0000)
committerrread <rread>
Thu, 29 Jul 2004 20:23:26 +0000 (20:23 +0000)
Use cond_resched() ll_pgcache_remove_extent, and make sure we've got
the definition for it.

lnet/archdep.m4
lustre/include/linux/lustre_compat25.h
lustre/llite/file.c
lustre/portals/archdep.m4

index 37351ef..db70ec0 100644 (file)
@@ -144,7 +144,7 @@ _ACEOF
 AC_DEFUN([LUSTRE_MODULE_COMPILE_IFELSE],
 [m4_ifvaln([$1], [LUSTRE_MODULE_CONFTEST([$1])])dnl
 rm -f kernel-tests/conftest.o kernel-tests/conftest.mod.c kernel-tests/conftest.ko
 AC_DEFUN([LUSTRE_MODULE_COMPILE_IFELSE],
 [m4_ifvaln([$1], [LUSTRE_MODULE_CONFTEST([$1])])dnl
 rm -f kernel-tests/conftest.o kernel-tests/conftest.mod.c kernel-tests/conftest.ko
-AS_IF([AC_TRY_COMMAND(cp conftest.c kernel-tests && make [$2] -f $PWD/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX EXTRA_CFLAGS="$EXTRA_KCFLAGS" $ARCH_UM SUBDIRS=$PWD/kernel-tests) >/dev/null && AC_TRY_COMMAND([$3])],
+AS_IF([AC_TRY_COMMAND(cp conftest.c kernel-tests && make [$2] -f $PWD/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM SUBDIRS=$PWD/kernel-tests) >/dev/null && AC_TRY_COMMAND([$3])],
        [$4],
        [_AC_MSG_LOG_CONFTEST
 m4_ifvaln([$5],[$5])dnl])dnl
        [$4],
        [_AC_MSG_LOG_CONFTEST
 m4_ifvaln([$5],[$5])dnl])dnl
@@ -440,6 +440,20 @@ LUSTRE_MODULE_TRY_COMPILE(
                AC_MSG_RESULT([$LINUXRELEASE])
        ])
 
                AC_MSG_RESULT([$LINUXRELEASE])
        ])
 
+# ---------- 2.4.20 introduced cond_resched --------------
+
+AC_MSG_CHECKING([if kernel offers cond_resched])
+LUSTRE_MODULE_TRY_COMPILE(
+       [
+               #include <linux/sched.h>
+       ],[
+               cond_resched();
+       ],[
+       AC_MSG_RESULT([yes])
+               AC_DEFINE(HAVE_COND_RESCHED, 1, [cond_resched found])
+       ],[
+               AC_MSG_RESULT([no])
+       ])
 # ---------- Red Hat 2.4.21 backports some more 2.5 bits --------
 
 AC_MSG_CHECKING([if kernel defines PDE])
 # ---------- Red Hat 2.4.21 backports some more 2.5 bits --------
 
 AC_MSG_CHECKING([if kernel defines PDE])
index 13363bd..9b985d5 100644 (file)
@@ -102,10 +102,6 @@ static inline int cleanup_group_info(void)
 
 #define smp_num_cpus    NR_CPUS
 
 
 #define smp_num_cpus    NR_CPUS
 
-#ifndef conditional_schedule
-#define conditional_schedule() cond_resched()
-#endif
-
 #include <linux/proc_fs.h>
 
 #else /* 2.4.. */
 #include <linux/proc_fs.h>
 
 #else /* 2.4.. */
@@ -183,8 +179,14 @@ static inline int cleanup_group_info(void)
         return 0;
 }
 
         return 0;
 }
 
-#ifndef conditional_schedule
-#define conditional_schedule() if (unlikely(need_resched())) schedule()
+#ifndef HAVE_COND_RESCHED
+static inline void cond_resched(void)
+{
+        if (unlikely(need_resched())) {
+                set_curret_state(TASK_RUNNING);
+                schedule();
+        }
+}
 #endif
 
 /* to find proc_dir_entry from inode. 2.6 has native one -bzzz */
 #endif
 
 /* to find proc_dir_entry from inode. 2.6 has native one -bzzz */
index bebd70e..659db37 100644 (file)
@@ -413,7 +413,7 @@ void ll_pgcache_remove_extent(struct inode *inode, struct lov_stripe_md *lsm,
                         break;
                 }
 
                         break;
                 }
 
-                conditional_schedule();
+                cond_resched();
 
                 page = find_get_page(inode->i_mapping, i);
                 if (page == NULL)
 
                 page = find_get_page(inode->i_mapping, i);
                 if (page == NULL)
index 37351ef..db70ec0 100644 (file)
@@ -144,7 +144,7 @@ _ACEOF
 AC_DEFUN([LUSTRE_MODULE_COMPILE_IFELSE],
 [m4_ifvaln([$1], [LUSTRE_MODULE_CONFTEST([$1])])dnl
 rm -f kernel-tests/conftest.o kernel-tests/conftest.mod.c kernel-tests/conftest.ko
 AC_DEFUN([LUSTRE_MODULE_COMPILE_IFELSE],
 [m4_ifvaln([$1], [LUSTRE_MODULE_CONFTEST([$1])])dnl
 rm -f kernel-tests/conftest.o kernel-tests/conftest.mod.c kernel-tests/conftest.ko
-AS_IF([AC_TRY_COMMAND(cp conftest.c kernel-tests && make [$2] -f $PWD/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX EXTRA_CFLAGS="$EXTRA_KCFLAGS" $ARCH_UM SUBDIRS=$PWD/kernel-tests) >/dev/null && AC_TRY_COMMAND([$3])],
+AS_IF([AC_TRY_COMMAND(cp conftest.c kernel-tests && make [$2] -f $PWD/kernel-tests/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM SUBDIRS=$PWD/kernel-tests) >/dev/null && AC_TRY_COMMAND([$3])],
        [$4],
        [_AC_MSG_LOG_CONFTEST
 m4_ifvaln([$5],[$5])dnl])dnl
        [$4],
        [_AC_MSG_LOG_CONFTEST
 m4_ifvaln([$5],[$5])dnl])dnl
@@ -440,6 +440,20 @@ LUSTRE_MODULE_TRY_COMPILE(
                AC_MSG_RESULT([$LINUXRELEASE])
        ])
 
                AC_MSG_RESULT([$LINUXRELEASE])
        ])
 
+# ---------- 2.4.20 introduced cond_resched --------------
+
+AC_MSG_CHECKING([if kernel offers cond_resched])
+LUSTRE_MODULE_TRY_COMPILE(
+       [
+               #include <linux/sched.h>
+       ],[
+               cond_resched();
+       ],[
+       AC_MSG_RESULT([yes])
+               AC_DEFINE(HAVE_COND_RESCHED, 1, [cond_resched found])
+       ],[
+               AC_MSG_RESULT([no])
+       ])
 # ---------- Red Hat 2.4.21 backports some more 2.5 bits --------
 
 AC_MSG_CHECKING([if kernel defines PDE])
 # ---------- Red Hat 2.4.21 backports some more 2.5 bits --------
 
 AC_MSG_CHECKING([if kernel defines PDE])