diff options
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r-- | kernel/cpuset.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 02a8ea5c9963..3e945fcd8179 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <linux/stat.h> | 51 | #include <linux/stat.h> |
52 | #include <linux/string.h> | 52 | #include <linux/string.h> |
53 | #include <linux/time.h> | 53 | #include <linux/time.h> |
54 | #include <linux/time64.h> | ||
54 | #include <linux/backing-dev.h> | 55 | #include <linux/backing-dev.h> |
55 | #include <linux/sort.h> | 56 | #include <linux/sort.h> |
56 | 57 | ||
@@ -68,7 +69,7 @@ struct static_key cpusets_enabled_key __read_mostly = STATIC_KEY_INIT_FALSE; | |||
68 | struct fmeter { | 69 | struct fmeter { |
69 | int cnt; /* unprocessed events count */ | 70 | int cnt; /* unprocessed events count */ |
70 | int val; /* most recent output value */ | 71 | int val; /* most recent output value */ |
71 | time_t time; /* clock (secs) when val computed */ | 72 | time64_t time; /* clock (secs) when val computed */ |
72 | spinlock_t lock; /* guards read or write of above */ | 73 | spinlock_t lock; /* guards read or write of above */ |
73 | }; | 74 | }; |
74 | 75 | ||
@@ -1374,7 +1375,7 @@ out: | |||
1374 | */ | 1375 | */ |
1375 | 1376 | ||
1376 | #define FM_COEF 933 /* coefficient for half-life of 10 secs */ | 1377 | #define FM_COEF 933 /* coefficient for half-life of 10 secs */ |
1377 | #define FM_MAXTICKS ((time_t)99) /* useless computing more ticks than this */ | 1378 | #define FM_MAXTICKS ((u32)99) /* useless computing more ticks than this */ |
1378 | #define FM_MAXCNT 1000000 /* limit cnt to avoid overflow */ | 1379 | #define FM_MAXCNT 1000000 /* limit cnt to avoid overflow */ |
1379 | #define FM_SCALE 1000 /* faux fixed point scale */ | 1380 | #define FM_SCALE 1000 /* faux fixed point scale */ |
1380 | 1381 | ||
@@ -1390,8 +1391,11 @@ static void fmeter_init(struct fmeter *fmp) | |||
1390 | /* Internal meter update - process cnt events and update value */ | 1391 | /* Internal meter update - process cnt events and update value */ |
1391 | static void fmeter_update(struct fmeter *fmp) | 1392 | static void fmeter_update(struct fmeter *fmp) |
1392 | { | 1393 | { |
1393 | time_t now = get_seconds(); | 1394 | time64_t now; |
1394 | time_t ticks = now - fmp->time; | 1395 | u32 ticks; |
1396 | |||
1397 | now = ktime_get_seconds(); | ||
1398 | ticks = now - fmp->time; | ||
1395 | 1399 | ||
1396 | if (ticks == 0) | 1400 | if (ticks == 0) |
1397 | return; | 1401 | return; |