diff options
author | Yishai Hadas <yishaih@mellanox.com> | 2012-08-13 10:15:06 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-08-16 06:05:20 +0200 |
commit | 89dd86db78e08b51bab29e168fd41b2fd943e6b6 (patch) | |
tree | e2c69177fd4478c398547e81d5da2b61a1cd2158 /drivers/net/ethernet/mellanox/mlx4/icm.h | |
parent | IB/mlx4: Fix possible deadlock on sm_lock spinlock (diff) | |
download | linux-89dd86db78e08b51bab29e168fd41b2fd943e6b6.tar.xz linux-89dd86db78e08b51bab29e168fd41b2fd943e6b6.zip |
mlx4_core: Allow large mlx4_buddy bitmaps
mlx4_buddy_init uses kmalloc() to allocate bitmaps, which fails when
the required size is beyond the max supported value (or when memory is
too fragmented to handle a huge allocation). Extend this to use use
vmalloc() if kmalloc() fails, and take that into account when freeing
the bitmaps as well.
This fixes a driver load failure when log num mtt is 26 or higher, and
is a step in the direction of allowing to register huge amounts of
memory on large memory systems.
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/icm.h')
0 files changed, 0 insertions, 0 deletions