--- ./source/private_module/nfsd/nfs4state.c	2018-09-10 11:58:41.000000000 +0800
+++ ./source/private_module/nfsd/nfs4state.c.hotpatch	2018-09-10 11:58:41.000000000 +0800
@@ -1812,7 +1812,7 @@
 {
     struct nfs4_ol_stateid* stp;
     struct nfs4_file* fp;
-
+	unsigned long sdelay = jiffies + HZ;
     might_sleep(); /* ʾú˯ */
     while (!list_empty(reaplist))
     {
@@ -1822,9 +1822,9 @@
         //Ӧnfs4_free_ol_stateid/nfs4_free_lock_stateid/
         //nfsd4_free_layout_stateid/nfs4_free_delegеһ
         stp->st_stid.sc_free(&stp->st_stid);
+		if (time_after(jiffies, sdelay)) {NAS_DBG(MOD_NAS_LOCKD, LOG_DEBUG, "Nfsv4: sc_free takes too long."); sdelay=jiffies + HZ; cond_resched();}
         nfs4_summary_static_dec(NFS4_STATIC_STATEID);
-        if (fp)
-        {
+        if (fp) {
             put_nfs4_file(fp);
         }
     }
