Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Feb 2012 11:08:25 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Slawa Olhovchenkov <slw@zxy.spb.ru>
Cc:        svn-src-head@freebsd.org, Luigi Rizzo <luigi@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, Ben Kaduk <minimarmot@gmail.com>
Subject:   Re: svn commit: r232238 - in head: share/man/man4 sys/dev/e1000 sys/dev/ixgbe sys/dev/netmap sys/dev/re sys/net tools/tools/netmap
Message-ID:  <20120229100825.GA7148@onelab2.iet.unipi.it>
In-Reply-To: <20120229094603.GD97848@zxy.spb.ru>
References:  <201202271905.q1RJ52Se032771@svn.freebsd.org> <CAK2BMK4ncw9yyHwRQJfzT5=mTwn5p2neny1rbZF9sBM-q3zvJw@mail.gmail.com> <20120228073122.GC57270@onelab2.iet.unipi.it> <20120228203523.GB97848@zxy.spb.ru> <20120228215856.GA99692@onelab2.iet.unipi.it> <20120229091433.GC97848@zxy.spb.ru> <20120229095126.GA6942@onelab2.iet.unipi.it> <20120229094603.GD97848@zxy.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 29, 2012 at 01:46:03PM +0400, Slawa Olhovchenkov wrote:
> On Wed, Feb 29, 2012 at 10:51:26AM +0100, Luigi Rizzo wrote:
> 
> > On Wed, Feb 29, 2012 at 01:14:33PM +0400, Slawa Olhovchenkov wrote:
> > > On Tue, Feb 28, 2012 at 10:58:56PM +0100, Luigi Rizzo wrote:
> > > 
> > > > On Wed, Feb 29, 2012 at 12:35:23AM +0400, Slawa Olhovchenkov wrote:
> > > > ...
> > > > > > > > ?3. The two changes above unfortunately require an API change, so while
> > > > > > > > ? ? at it add a version field and some spares to the ioctl() argument
> > > > > > > > ? ? to help detect mismatches.
> > > > > > > 
> > > > > > > Is it worth bumping __FreeBSD_version?
> > > > > > 
> > > > > > I don't think it is necessary.
> > > > > > There is basically no code that uses the netmap API except for
> > > > > > the examples in tools/tools/netmap, and i now have a NETMAP_API macro
> > > > > 
> > > > > no code in *FreeBSD base system*, yes?
> > > > > because I am write tools uses the netmap API now.
> > > > 
> > > > i am glad to hear that, and the NETMAP_API will serve you well
> > > > because you can use the same also on the Linux version of netmap
> > > 
> > > Can you explain some detail about netmap?
> > > 
> > > 1. What is order of send packets from different rings?
> > > 2. What is time packets sent? I am need sustain desired value of
> > > transfer rate.
> > 
> > Same as with the standard API:
> > 
> > 1. it is the hardware that decides that. You can make no assumptions.
> > 2. once again, once you have issued the system call,
> >    it is the hardware that decides when it will send packets out.
> 
> Realy? I don't do any system call now and see transmited packets
> (in dev.ix.0.mac_stats.tx_frames_XXX stats).

you MUST issue system calls (ioctl() or poll()) ) to have packets
sent out. Please re-read the manpage.

> 3. Jumbo frames support only throw tunable hw.netmap.buf_size?

yes but in practice forget jumbo frames. There is no guarantees
that the code works for buf_size > 4096 .

Unless you want to use them to support NFS and 8K filesystem blocks
(in which case there is a point - you have no fragmentation),
jumbo frames are only useful with low-performance drivers.
With netmap you have no such an issue.

cheers
luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120229100825.GA7148>