IB/ehca: Tolerate dynamic memory operations before driver load
authorHannes Hering <hering2@de.ibm.com>
Tue, 23 Jun 2009 05:18:51 +0000 (22:18 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 23 Jun 2009 05:18:51 +0000 (22:18 -0700)
commit0cf89dcdbc53f2b43e4ce7419b6ff47f4309c2eb
treebee90178d8da3c89884daed60686fc59a952ce79
parent65795efbd380a832ae508b04dba8f8e53f0b84d9
IB/ehca: Tolerate dynamic memory operations before driver load

Implement toleration of dynamic memory operations and 16 GB gigantic
pages, where "toleration" means that the driver can cope with dynamic
memory operations that happen before the driver is loaded.  While the
ehca driver is loaded, dynamic memory operations are still prohibited
by returning NOTIFY_BAD from the memory notifier.

On module load the driver walks through available system memory,
checks for available memory ranges and then registers the kernel
internal memory region accordingly.  The translation of address ranges
is implemented via a 3-level busmap.

Signed-off-by: Hannes Hering <hering2@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ehca/ehca_main.c
drivers/infiniband/hw/ehca/ehca_mrmw.c
drivers/infiniband/hw/ehca/ehca_mrmw.h