diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 56 | 
1 files changed, 32 insertions, 24 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 953352a88336..46ac9a50528d 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -56,6 +56,14 @@  #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))  #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) +#define DIV_ROUND_UP_ULL(ll,d) \ +	({ unsigned long long _tmp = (ll)+(d)-1; do_div(_tmp, d); _tmp; }) + +#if BITS_PER_LONG == 32 +# define DIV_ROUND_UP_SECTOR_T(ll,d) DIV_ROUND_UP_ULL(ll, d) +#else +# define DIV_ROUND_UP_SECTOR_T(ll,d) DIV_ROUND_UP(ll,d) +#endif  /* The `const' in roundup() prevents gcc-3.3 from calling __divdi3 */  #define roundup(x, y) (					\ @@ -121,7 +129,7 @@ extern int _cond_resched(void);  # define might_resched() do { } while (0)  #endif -#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP +#ifdef CONFIG_DEBUG_ATOMIC_SLEEP    void __might_sleep(const char *file, int line, int preempt_offset);  /**   * might_sleep - annotation for functions that can sleep @@ -646,29 +654,6 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }  	const typeof( ((type *)0)->member ) *__mptr = (ptr);	\  	(type *)( (char *)__mptr - offsetof(type,member) );}) -struct sysinfo; -extern int do_sysinfo(struct sysinfo *info); - -#endif /* __KERNEL__ */ - -#define SI_LOAD_SHIFT	16 -struct sysinfo { -	long uptime;			/* Seconds since boot */ -	unsigned long loads[3];		/* 1, 5, and 15 minute load averages */ -	unsigned long totalram;		/* Total usable main memory size */ -	unsigned long freeram;		/* Available memory size */ -	unsigned long sharedram;	/* Amount of shared memory */ -	unsigned long bufferram;	/* Memory used by buffers */ -	unsigned long totalswap;	/* Total swap space size */ -	unsigned long freeswap;		/* swap space still available */ -	unsigned short procs;		/* Number of current processes */ -	unsigned short pad;		/* explicit padding for m68k */ -	unsigned long totalhigh;	/* Total high memory size */ -	unsigned long freehigh;		/* Available high memory size */ -	unsigned int mem_unit;		/* Memory unit size in bytes */ -	char _f[20-2*sizeof(long)-sizeof(int)];	/* Padding: libc5 uses this.. */ -}; -  #ifdef __CHECKER__  #define BUILD_BUG_ON_NOT_POWER_OF_2(n)  #define BUILD_BUG_ON_ZERO(e) (0) @@ -736,4 +721,27 @@ extern int __build_bug_on_failed;  # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD  #endif +struct sysinfo; +extern int do_sysinfo(struct sysinfo *info); + +#endif /* __KERNEL__ */ + +#define SI_LOAD_SHIFT	16 +struct sysinfo { +	long uptime;			/* Seconds since boot */ +	unsigned long loads[3];		/* 1, 5, and 15 minute load averages */ +	unsigned long totalram;		/* Total usable main memory size */ +	unsigned long freeram;		/* Available memory size */ +	unsigned long sharedram;	/* Amount of shared memory */ +	unsigned long bufferram;	/* Memory used by buffers */ +	unsigned long totalswap;	/* Total swap space size */ +	unsigned long freeswap;		/* swap space still available */ +	unsigned short procs;		/* Number of current processes */ +	unsigned short pad;		/* explicit padding for m68k */ +	unsigned long totalhigh;	/* Total high memory size */ +	unsigned long freehigh;		/* Available high memory size */ +	unsigned int mem_unit;		/* Memory unit size in bytes */ +	char _f[20-2*sizeof(long)-sizeof(int)];	/* Padding: libc5 uses this.. */ +}; +  #endif  |