void *lcw_data;
pid_t lcw_pid;
- int lcw_time; /* time until watchdog fires, in ms */
+ cfs_duration_t lcw_time; /* time until watchdog fires, jiffies */
enum {
LC_WATCHDOG_DISABLED,
/* NB this warning should appear on the console, but may not get into
* the logs since we're running in a softirq handler */
- CWARN("Watchdog triggered for pid %d: it was inactive for %ldms\n",
- (int)lcw->lcw_pid, cfs_duration_sec(lcw->lcw_time) * 1000);
+ CWARN("Watchdog triggered for pid %d: it was inactive for %lds\n",
+ (int)lcw->lcw_pid, cfs_duration_sec(lcw->lcw_time));
lcw_dump(lcw);
spin_lock_bh(&lcw_pending_timers_lock);
list_del_init(&lcw->lcw_list);
spin_unlock_bh(&lcw_pending_timers_lock);
- CDEBUG(D_INFO, "found lcw for pid %d: inactive for %ldms\n",
- (int)lcw->lcw_pid, cfs_duration_sec(lcw->lcw_time) * 1000);
+ CDEBUG(D_INFO, "found lcw for pid %d: inactive for "
+ "%lds\n", (int)lcw->lcw_pid,
+ cfs_duration_sec(lcw->lcw_time));
if (lcw->lcw_state != LC_WATCHDOG_DISABLED)
lcw->lcw_callback(lcw->lcw_pid, lcw->lcw_data);
#define MDS_MAXREPSIZE max(9 * 1024, 280 + LOV_MAX_STRIPE_COUNT * 56)
#define MGS_THREADS_AUTO_MIN 2
-#define MGS_THREADS_AUTO_MAX 128
+#define MGS_THREADS_AUTO_MAX 32
#define MGS_NBUFS (64 * smp_num_cpus)
#define MGS_BUFSIZE (8 * 1024)
#define MGS_MAXREQSIZE (8 * 1024)
extern unsigned int obd_timeout; /* seconds */
#define PING_INTERVAL max(obd_timeout / 4, 1U)
#define RECONNECT_INTERVAL max(obd_timeout / 10, 10U)
+#define LDLM_TIMEOUT_DEFAULT 20
extern unsigned int ldlm_timeout;
extern unsigned int obd_health_check_timeout;
extern unsigned int obd_sync_filter;
#define OBD_FAIL_MGS_ALL_REPLY_NET 0x902
#define OBD_FAIL_MGC_PROCESS_LOG 0x903
#define OBD_FAIL_MGS_SLOW_REQUEST_NET 0x904
+#define OBD_FAIL_MGS_SLOW_TARGET_REG 0x905
#define OBD_FAIL_QUOTA_QD_COUNT_32BIT 0xA00
obd->obd_replayable ? "enabled" : "disabled");
}
- ldlm_timeout = 6;
+ if (ldlm_timeout == LDLM_TIMEOUT_DEFAULT)
+ ldlm_timeout = 6;
RETURN(0);
obd->obd_name, lockrc);
}
+ OBD_FAIL_TIMEOUT(OBD_FAIL_MGS_SLOW_TARGET_REG, 10);
+
/* Log writing contention is handled by the fsdb_sem */
if (mti->mti_flags & LDD_F_WRITECONF) {
unsigned int obd_dump_on_timeout;
unsigned int obd_dump_on_eviction;
unsigned int obd_timeout = 100; /* seconds */
-unsigned int ldlm_timeout = 20; /* seconds */
+unsigned int ldlm_timeout = LDLM_TIMEOUT_DEFAULT; /* seconds */
unsigned int obd_health_check_timeout = 120; /* seconds */
unsigned int obd_max_dirty_pages = 256;
atomic_t obd_dirty_pages;