History log of /drivers/net/ethernet/mellanox/mlx4/profile.c
Revision Date Author Comments
db5a7a65c05867cb6ff5cb6d556a0edfce631d2d 05-Mar-2012 Roland Dreier <roland@purestorage.com> mlx4_core: Scale size of MTT table with system RAM

The current driver defaults to 1M MTT segments, where each segment holds
8 MTT entries. This limits the total memory registered to 8M * PAGE_SIZE
which is 32GB with 4K pages. Since systems that have much more memory
are pretty common now (at least among systems with InfiniBand hardware),
this limit ends up getting hit in practice quite a bit.

Handle this by having the driver allocate at least enough MTT entries to
cover 2 * totalram pages.

Signed-off-by: Roland Dreier <roland@purestorage.com>
9fd7a1e147bd41fb999a58da8a8826b9f3415384 19-Jan-2012 Marcel Apfelbaum <marcela@dev.mellanox.co.il> mlx4_core: Fix mtt profile issue

Num mtts from profile is really the number of mtt segments.
Thus, in make profile, to get the proper number of MTT entries,
must multiply num_mtts by mtts per segment.

Signed-off-by: Marcel Apfelbaum <marcela@dev.mellanox.co.il>
Reviewed-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
2b8fb2867ca2736a715a88067fd0ec2904777cbe 13-Dec-2011 Marcel Apfelbaum <marcela@dev.mellanox.co.il> mlx4_core: mtts resources units changed to offset

In the previous implementation mtts are managed by:
1. order - log(mtt segments), 'mtt segment' groups several mtts together.
2. first_seg - segment location relative to mtt table.
In the current implementation:
1. order - log(mtts) rather than segments
2. offset - mtt index in mtt table

Note: The actual mtt allocation is made in segments but it is
transparent to callers.

Rational: The mtt resource holders are not interested on how the allocation
of mtt is done, but rather on how they will use it.

Signed-off-by: Marcel Apfelbaum <marcela@dev.mellanox.co.il>
Reviewed-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
0ec2c0f86d31ab36547307f133b0016006bdc6b5 13-Dec-2011 Eugenia Emantayev <eugenia@mellanox.co.il> mlx4: Traffic steering management support for SRIOV

Let multicast/unicast attaching flow go through resource tracker.
The PF is the one responsible for managing all the steering entries.
Define and use module parameter that determines the number of qps
per multicast group.
Minor changes in function calls according to changed prototype.

Signed-off-by: Eugenia Emantayev <eugenia@mellanox.co.il>
Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
5a2cc190eb3fe58fe519795c509b01b25795992e 13-May-2011 Jeff Kirsher <jeffrey.t.kirsher@intel.com> mlx4: Move the Mellanox driver

Moves the Mellanox driver into drivers/net/ethernet/mellanox/ and
make the necessary Kconfig and Makefile changes.

CC: Roland Dreier <roland@kernel.org>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>