9ee820fa00
Adds support for page coalescing, which is a feature on IBM Power servers which allows for coalescing identical pages between logical partitions. Hint text pages as coalesce candidates, since they are the most likely pages to be able to be coalesced between partitions. This patch also exports some page coalescing statistics available from firmware via lparcfg. [BenH: Moved a couple of things around to fix compile problems] Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
#ifndef _PPC64_PSERIES_RECONFIG_H
|
|
#define _PPC64_PSERIES_RECONFIG_H
|
|
#ifdef __KERNEL__
|
|
|
|
#include <linux/notifier.h>
|
|
|
|
/*
|
|
* Use this API if your code needs to know about OF device nodes being
|
|
* added or removed on pSeries systems.
|
|
*/
|
|
|
|
#define PSERIES_RECONFIG_ADD 0x0001
|
|
#define PSERIES_RECONFIG_REMOVE 0x0002
|
|
#define PSERIES_DRCONF_MEM_ADD 0x0003
|
|
#define PSERIES_DRCONF_MEM_REMOVE 0x0004
|
|
|
|
#ifdef CONFIG_PPC_PSERIES
|
|
extern int pSeries_reconfig_notifier_register(struct notifier_block *);
|
|
extern void pSeries_reconfig_notifier_unregister(struct notifier_block *);
|
|
extern struct blocking_notifier_head pSeries_reconfig_chain;
|
|
/* Not the best place to put this, will be fixed when we move some
|
|
* of the rtas suspend-me stuff to pseries */
|
|
extern void pSeries_coalesce_init(void);
|
|
#else /* !CONFIG_PPC_PSERIES */
|
|
static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
|
|
static inline void pSeries_coalesce_init(void) { }
|
|
#endif /* CONFIG_PPC_PSERIES */
|
|
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _PPC64_PSERIES_RECONFIG_H */
|