linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
Yishai Hadas 89dd86db78 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>
2012-08-15 21:05:20 -07:00
..
alloc.c mlx4_core: Change bitmap allocator to work in round-robin fashion 2012-05-14 13:44:38 -07:00
catas.c mlx4: Add support for EEH error recovery 2012-07-25 15:24:13 -07:00
cmd.c mlx4: Add support for EEH error recovery 2012-07-25 15:24:13 -07:00
cq.c mlx4_core: removed function index from vf. 2012-01-22 15:08:43 -05:00
en_cq.c net/mlx4_en: Add accelerated RFS support 2012-07-19 08:34:37 -07:00
en_dcb_nl.c drivers/net: fix unresolved 64bit math in mellanox/mlx4/en_dcb_nl.c 2012-04-16 02:12:11 -04:00
en_ethtool.c net/mlx4: Move MAC_MASK to a common place 2012-07-19 08:34:37 -07:00
en_main.c mlx4: Use port management change event instead of smp_snoop 2012-07-10 09:47:10 -07:00
en_netdev.c net/mlx4_en: Limit the RFS filter IDs to be < RPS_NO_FILTER 2012-07-26 00:23:55 -07:00
en_port.c mlx4: Ethernet port management modifications 2011-12-13 13:56:07 -05:00
en_port.h net/mlx4_core: set port QoS attributes 2012-04-05 05:08:03 -04:00
en_resources.c net/mlx4_en: Force user priority by QP attribute 2012-04-05 05:08:03 -04:00
en_rx.c mlx4_en: map entire pages to increase throughput 2012-07-19 10:53:13 -07:00
en_selftest.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
en_tx.c net/mlx4_en: num cores tx rings for every UP 2012-05-17 16:17:50 -04:00
eq.c InfiniBand/RDMA changes for the 3.6 merge window: 2012-07-24 13:56:26 -07:00
fw.c InfiniBand/RDMA changes for the 3.6 merge window: 2012-07-24 13:56:26 -07:00
fw.h {NET, IB}/mlx4: Add device managed flow steering firmware API 2012-07-07 16:23:05 -07:00
icm.c net/mlx4_core: Free ICM table in case of error 2012-07-11 09:22:58 -07:00
icm.h mlx4_core: Remove double function declarations 2012-07-11 09:22:58 -07:00
intf.c mlx4: Use port management change event instead of smp_snoop 2012-07-10 09:47:10 -07:00
Kconfig net/mlx4_en: DCB QoS support 2012-04-05 05:08:04 -04:00
main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-07-26 18:09:01 -07:00
Makefile net/mlx4_en: DCB QoS support 2012-04-05 05:08:04 -04:00
mcg.c net/mlx4: Move MAC_MASK to a common place 2012-07-19 08:34:37 -07:00
mlx4_en.h mlx4_en: map entire pages to increase throughput 2012-07-19 10:53:13 -07:00
mlx4.h InfiniBand/RDMA changes for the 3.6 merge window: 2012-07-24 13:56:26 -07:00
mr.c mlx4_core: Allow large mlx4_buddy bitmaps 2012-08-15 21:05:20 -07:00
pd.c net/mlx4_core: Add XRC domains and counters to resource tracker 2012-05-16 00:56:59 -04:00
port.c InfiniBand/RDMA changes for the 3.6 merge window: 2012-07-24 13:56:26 -07:00
profile.c {NET, IB}/mlx4: Add device managed flow steering firmware API 2012-07-07 16:23:05 -07:00
qp.c mlx4_core: remove buggy sched_queue masking 2012-03-06 14:43:50 -05:00
reset.c
resource_tracker.c net/mlx4: Move MAC_MASK to a common place 2012-07-19 08:34:37 -07:00
sense.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
srq.c mlx4_core: removed function index from vf. 2012-01-22 15:08:43 -05:00