Commit Graph

183 Commits

Author SHA1 Message Date
Intel
3743329a7e mem: remove RLIMIT_NOFILE update
Memory init won't try to increase its RLIMIT_NOFILE limit, this must be done
prior to starting it.

Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Intel
e0c8475561 mem: find most little element from heap
Allocations now return the most little element from heap matching size
constraint instead of the first one available.

Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Intel
286bd05bf7 ring: optimisations
Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Intel
ae2d65e257 timer: add a rte_pause in a tight loop
Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Intel
e987449c9f timer: prefer TSC to HPET
Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Stephen Hemminger
3778059a51 timer: optimize for empty case
In many application there are no timers queued, and the call to
rte_timer_managecan be optimized in that case avoid reading HPET and
lock overhead.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Reviewed-by: Vincent Jardin <vincent.jardin@6wind.com>
2013-09-17 14:09:22 +02:00
Damien Millescamps
6286101324 timer: option --vmware-tsc-map for VMware guest
The VMWare TSC mapping uses a hook to RDPMC to read the physical TSC
in the case of VMware ESXi.

Signed-off-by: Damien Millescamps <damien.millescamps@6wind.com>
Acked-by: Jean-Mickael Guerin <jmg@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>

Introduce new option --vmware-tsc-map, ignored if
CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT is not set.

Default is CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=y.

if CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT is set:
    rte_rdtsc() selects at runtime between Vmware mapping of
    TSC or native TSC
else
    rte_rdtsc() always uses native rdtsc.

When running DPDK on VMware guest, enable --vmware-tsc-map to
read the physical TSC.
Caution: ESXi should pass monitor_control.pseudo_perfctr = TRUE
othewise it results in general protection fault.

Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2013-09-17 14:09:22 +02:00
Intel
cbecb72292 hash: jhash optimisation
Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Intel
1a9f648be2 hash: fix for multi-process apps
Signed-off-by: Intel
2013-09-17 14:09:22 +02:00
Intel
de3cfa2c98 sched: initial import
Signed-off-by: Intel
2013-09-17 14:09:21 +02:00
Intel
e6541fdec8 meter: initial import
Signed-off-by: Intel
2013-09-17 14:09:21 +02:00
Intel
d7937e2e3d power: initial import
Signed-off-by: Intel
2013-09-17 14:09:21 +02:00
Intel
5c510e13a9 lpm: add IPv6 support
Signed-off-by: Intel
2013-09-17 14:09:21 +02:00
Stephen Hemminger
2450abdf90 log: optimize log/panic with attribute cold
Both logging and calls to panic are never in the critical path.
Use the GCC attribute cold to mark these functions as cold,
which generates more optimised code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Reviewed-by: Vincent Jardin <vincent.jardin@6wind.com>
2013-09-17 14:09:21 +02:00
Intel
494a02537f log: get full path as syslog id
It partially reverts commit 04210699ee.

Signed-off-by: Intel <intel.com>
2013-09-17 14:08:47 +02:00
Stephen Hemminger
04210699ee log: add ability to override syslog parameters
By default, DPDK based applications would only allow logging
to syslog as "rte", DAEMON; but for any production application more
control is desired to allow using actual application name and
overriding the facility.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Reviewed-by: Vincent Jardin <vincent.jardin@6wind.com>
2013-09-16 15:34:52 +02:00
Intel
99dde4b0e2 eal: cosmetic changes
Signed-off-by: Intel
2013-09-16 15:30:55 +02:00
Intel
bfdbde0c20 eal: add application usage hook
Signed-off-by: Intel
2013-09-16 15:30:52 +02:00
Intel
d6772940c0 eal: memory barriers use intrinsic functions
Signed-off-by: Intel
2013-09-16 15:19:04 +02:00
Intel
0fa75ccc24 eal: use intrinsic functions from compiler
RTE_FORCE_INTRINSICS makes it possible to force use of intrinsic
functions (defaults to n).

Signed-off-by: Intel
2013-09-16 15:19:03 +02:00
Intel
803b069703 lib: add rte_hexdump and remove duplicated code
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
a974564b34 lib: fix various compilation warnings
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
3b46fb77eb lib: 32/64-bit cleanups
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
a2ca32f764 config: change max lcore to 64
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
3be52ffc88 app/testpmd: cosmetic changes
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
072bcb9977 doc: fix file format (dos to unix)
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
00752cbf41 file mode changes
Signed-off-by: Intel
2013-09-06 11:43:07 +02:00
Intel
26a0e1a4ee set version to 1.3.1
Signed-off-by: Intel
2013-07-25 16:07:53 +02:00
Intel
b6df9fc871 update copyright date to 2013
Signed-off-by: Intel
2013-07-25 16:07:52 +02:00
Intel
4bd1246b75 examples: various changes
Signed-off-by: Intel
2013-07-25 16:07:52 +02:00
Intel
ce8f00eaaa app: various changes
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Zijie Pan
1b62bb7d7d app: fix unused values
Fix warnings of type "Value stored to 'xxx' is never read".

Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2013-07-25 16:07:51 +02:00
Ivan Boule
85f5ae8b70 app: fix volatile read for GCC >= 4.6
When a memory address must be read, for instance a [mapped] PCI register,
the read value is assigned to a local variable that is not used after,
as for instance:
    x = *((uint8_t *) mem_addr);

Such instructions do not compile with gcc 4.6.
The fix consists in adding the "volatile" attribute to the accessed data type
and to not assign the read value:
    *((volatile uint8_t *) mem_addr);

Signed-off-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2013-07-25 16:07:51 +02:00
Ivan Boule
e788fe1c6a app/testpmd: fix compliance with __rte_mbuf_sanity_check()
Build mbuf and lists of mbufs in a way compliant with the checks performed
by the function __rte_mbuf_sanity_check() when CONFIG_RTE_LIBRTE_MBUF_DEBUG=y

Signed-off-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2013-07-25 16:07:51 +02:00
Damien Millescamps
c866aaa854 app/testpmd: fix config crash
A chained topology must always have an increment of 1.
Here, it was 2 if ports number is even.

Signed-off-by: Damien Millescamps <damien.millescamps@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2013-07-25 16:07:51 +02:00
Intel
c662f30dbe lib: minor changes
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Adrien Mazarguil
77d7a99fbe lib: fix non-C99 macros definitions in exported headers
The original definitions prevent external programs/libraries from compiling
without warnings when using these headers and -std=gnu99 (relaxed C99 mode).

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Damien Millescamps <damien.millescamps@6wind.com>
2013-07-25 16:07:51 +02:00
Zijie Pan
06cf9be95c lib: fix uninitialized value
Fix warning "The left expression of the compound assignment
is an uninitialized value".

Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2013-07-25 16:07:51 +02:00
Zijie Pan
a75cc7772c lib: fix uninitialized variables
Fix compilation errors caused by uninitialized variables.

Signed-off-by: Krzysztof Witek <krzysztof.witek@6wind.com>
Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2013-07-25 16:07:51 +02:00
Zijie Pan
cddaf87a1e lib: fix unused values
Fix warnings of type "Value stored to 'xxx' is never read".

Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2013-07-25 16:07:51 +02:00
Intel
d55d942fa9 kni: various changes
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Intel
3b5d33a004 kni: disable IGB_DCA
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Intel
9b3cd1cc0c kni: fix disabling
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Ivan Boule
6402373548 kni: fix build with kernel < 2.6.34
Signed-off-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2013-07-25 16:07:51 +02:00
Nicolas Dichtel
f454d1a9c9 igb_uio: fix build with kernel >= 3.8
__devinit has been removed in linux commit 54b956b903
("Remove __dev* markings from init.h", 3.8-rc4).

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2013-07-25 16:07:51 +02:00
Intel
c872db9ea5 igb: fix RX for Springville (i210)
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Adrien Mazarguil
66daf76700 pci: allow drivers to be bound several times to the same PCI device
Drivers with the flag RTE_PCI_DRV_MULTIPLE enabled will be bound several
times to the same device until they return an error.

These drivers must internally keep track of each device state in order for
this to work reliably.

This flag currently required for Ethernet adapters with several physical
ports but a single address on the PCI bus.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Damien Millescamps <damien.millescamps@6wind.com>
2013-07-25 16:07:51 +02:00
Intel
c4641b4b1e mem: 64-bit mempool sizes
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Intel
dd61b34d58 mem: error if requesting more segments than MAX_MEMSEG
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00
Intel
02e7f35373 config: increase MAX_MEMSEG from 32 to 256
Signed-off-by: Intel
2013-07-25 16:07:51 +02:00