History log of /freebsd-10.1-release/sys/dev/netmap/netmap_mem2.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 270252 20-Aug-2014 luigi

MFC 270063: update of netmap code
(vtnet and cxgbe not merged yet because we need some other mfc first)


# 267282 09-Jun-2014 luigi

sync netmap code with the version in HEAD:
- fix handling of tx mbufs in emulated netmap mode;
- introduce mbq_lock() and mbq_unlock()
- rate limit some error messages
- many whitespace and comment fixes


# 262151 18-Feb-2014 luigi

MFH: sync the netmap code with the one in HEAD
(enhanced VALE switch, netmap pipes, emulated netmap mode).
See details in the log for svn 261909.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 250441 10-May-2013 luigi

another minor bugfix in the memory allocator, this time in the free routine.


# 250184 02-May-2013 luigi

remove trailing whitespace


# 250054 29-Apr-2013 luigi

whitespace - document alternative locking under linux


# 250052 29-Apr-2013 luigi

whitespace changes:
remove $Id$ lines, and add blank lines around some #if / #elif /#endif


# 249659 19-Apr-2013 luigi

mostly whitespace changes:
- remove vestiges of the old memory allocator
- clean up some comments


# 249504 15-Apr-2013 luigi

fix a bug in the computation of the userspace offset for a give netmap buffer.

Submitted by: Hugh Nhan


# 245835 23-Jan-2013 luigi

control some debugging messages with dev.netmap.verbose

add infrastracture to adapt to changes in number of queues
and buffers at runtime


# 241750 19-Oct-2012 emaste

Use M_NOWAIT when calling malloc with a lock held.

The check for a NULL return was already in place so I assume this was just
an oversight.


# 241719 19-Oct-2012 luigi

This is an import of code, mostly from Giuseppe Lettieri,
that revises the netmap memory allocator so that the
various parameters (number and size of buffers, rings, descriptors)
can be modified at runtime through sysctl variables.
The changes become effective when no netmap clients are active.

The API is mostly unchanged, although the NIOCUNREGIF ioctl now
does not bring the interface back to normal mode: and you
need to close the file descriptor for that.
This change was necessary to track who is using the mapped region,
and since it is a simplification of the API there was no
incentive in trying to preserve NIOCUNREGIF.
We will remove the ioctl from the kernel next time we need
a real API change (and version bump).

Among other things, buffer allocation when opening devices is
now much faster: it used to take O(N^2) time, now it is linear.

Submitted by: Giuseppe Lettieri


# 241643 17-Oct-2012 emaste

Avoid panic when a netmap instance cannot obtain memory.

A uint32_t is always >= 0.

Sponsored by: ADARA Networks


# 238912 30-Jul-2012 luigi

- move the inclusion of netmap headers to the common part of the code;
- more portable annotations for unused arguments;


# 238812 26-Jul-2012 luigi

Add support for VALE bridges to the netmap core, see

http://info.iet.unipi.it/~luigi/vale/

VALE lets you dynamically instantiate multiple software bridges
that talk the netmap API (and are *extremely* fast), so you can test
netmap applications without the need for high end hardware.

This is particularly useful as I am completing a netmap-aware
version of ipfw, and VALE provides an excellent testing platform.

Also, I also have netmap backends for qemu mostly ready for commit
to the port, and this too will let you interconnect virtual machines
at high speed without fiddling with bridges, tap or other slow solutions.

The API for applications is unchanged, so you can use the code
in tools/tools/netmap (which i will update soon) on the VALE ports.

This commit also syncs the code with the one in my internal repository,
so you will see some conditional code for other platforms.
The code should run mostly unmodified on stable/9 so people interested
in trying it can just copy sys/dev/netmap/ and sys/net/netmap*.h
from HEAD

VALE is joint work with my colleague Giuseppe Lettieri, and
is partly supported by the EU Projects CHANGE and OPENLAB


# 234290 14-Apr-2012 luigi

i prefer this fix for the -Wformat warning (just one cast,
all the other variables are already correct for %x).
My previous attempt put the cast in the wrong place.


# 234283 14-Apr-2012 bz

Make compile on 64bit somehow for now after a first try at r234242 on
maybe 32bit?


# 234242 13-Apr-2012 luigi

fix build with -Wformat -Wmissing-prototypes


# 234228 13-Apr-2012 luigi

add the new memory allocator for netmap, which allocates memory
in small clusters instead of one big contiguous chunk.
This was already enabled in the previous commit.