aboutsummaryrefslogtreecommitdiffstats
path: root/vlib/vlib/threads.h
AgeCommit message (Collapse)AuthorFilesLines
2016-12-20Declare variables as externalDamjan Marion1-3/+3
non-external declarations in header files are generating multiple empty definitions of the same symbol. Change-Id: I7f3933404f79d08579468d0052c106731b57507c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-17dpdk: remove efdDamjan Marion1-22/+0
Change-Id: I761af883403b6740bd24ce196ae0bfe6bc77b408 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15threads: add support for multiple worker handoff queuesDamjan Marion1-7/+100
Change-Id: I2452df3c493eeb0a5078d53a230df6906651c057 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-08pg: maintain per-worker bitmap of enabled streamsDamjan Marion1-0/+12
Change-Id: I38e476c8080faa5a8647ce6be5a71090e0aa8d5b Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-08pg: support for packet generator on different worker threadsDamjan Marion1-0/+23
New Debug CLI: packet-generator new { worker X } Change-Id: I71499733a29b49cd36d753d54846d2553af6d024 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-04vlib: fix cacheline alignement in several structsDamjan Marion1-7/+7
sizeof(vlib_frame_queue_t) was 208 bytes so non-zero elements of array were not aligned with cacheline. Change-Id: I626615cb64fe9aa86122881a1fff1c5bcca1ec20 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-13vpp_lite: add cpu pinning support (VPP-467)Pavel Kotucek1-1/+2
Proper cpu pinning in vpp_lite platform, like in normal vpp image. Extended “show threads” command to show propper information. Changed handling of coreID and socketID for threads in "show threads" CLI, pthread_getaffinity is used instead of info stored in DPDK. Change-Id: Ic8299ec5e284472bb10a37a95fadeed57b6edae8 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-27VPP-425: Scheduler policy & priority configurationPavel Kotucek1-0/+22
Add ability to hadle scheduling policy and priority via config file. CPU section contains new items to specify scheduling policy and priority: cpu { scheduler-priority <num> scheduler-policy [other | batch | idle | fifo | rr ] } Change-Id: Ie20765280e458e1d7deb4a8c66daaa69793f795e Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-07-08fd-io-styleify passDave Barach1-80/+93
Change-Id: If2d57a213fc2fec996db26df332910c3d2105f97 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-29Decouple worker thread code from dpdk, enable worker threads in vpp_liteDamjan Marion1-1/+11
Change-Id: I28616f1a89f2da95484438ec1a1db64845f15ef6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14Retire io threads and main-thread-io modeDamjan Marion1-3/+0
Change-Id: I64f5ec5e32f200834c63ec3b304f9f20cef332a7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-25Allow the number of elements in a frame queue to be specified per thread.Bud Grise1-0/+2
Change-Id: I026a61a943960dc52539565968a942fbd851da93 Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-18Add support for AArch32Christophe Fontaine1-0/+2
gcc version 4.9.2 (Raspbian 4.9.2-10) Tested on Linux raspberrypi 4.4.6-v7+ #875 SMP Tue Apr 12 16:33:02 BST 2016 armv7l GNU/Linux CPUs may be little or big endian, detect with gcc flags, not the processor architecture Add a new flag $(PLATFORM)_uses_openssl which allows to disable the link with openssl lib. vlib/vlib/threads.c: startup.conf must: - specify the heapsize as we don't have hugepages on raspbian cpu { main-core 3 } heapsize 64M Corrects in various files the assumption uword == u64 and replaces 'u64' cast with 'pointer_to_uword' and 'uword_to_pointer' where appropriate. 256 CPUs may create an OOM when testing with small memory footprint ( heapsize 64M ), allows the number of VLIB_MAX_CPUS to be set in platforms/*.mk vppinfra/vppinfra/longjmp.S: ARM - copy r1 (1st parameter of the setjmp call) to r0 (return value) vppinfra/vppinfra/time.h: On ARMv7 in AArch32 mode, we can access to a 64bit register to retreive the cycles count. gcc on rpi only declare ARM_ARCH 6. Override this info, and check if it is possible to use 'mrrc'. /!\ the time function will NOT work without allowing the user mode access to the PMU. You may download the source of the kmod here: https://github.com/christophefontaine/arm_rdtsc Change-Id: I8142606436d9671a184133b935398427f08a8bd2 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-12Add counter for the number of barrier syncs performed.Bud Grise1-0/+1
Change-Id: I42b26c8f95c17577006f13e3419b8ccc9ef7c4f3 Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-02-16Increase number of per-cpu mheaps to 256Damjan Marion1-0/+4
It also includes check to ensure that number of per-cpu mheaps is not lower than number of cpus. Change-Id: Ibc68b34dda130f922243f9ea15b03e44bbcac269 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-14Increase VLIB_MAX_CPUS to 256Damjan Marion1-8/+5
Change-Id: Iac68b38dda1a0f9e2242f9eab5b03e44bbcac269 Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-17Remove redundant functionDamjan Marion1-18/+0
Change-Id: I30db8f678b14303a64ad3aaa16b5caf9081603d8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke1-0/+333
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>