Commit Graph

53948 Commits

Author SHA1 Message Date
Avi Kivity
90d732b2ab db: make serialization-format-dependent collection serdes functions virtual
Allow use in a polymorphic context.
2015-04-15 15:35:30 +03:00
Avi Kivity
6a89d8291f cql3: fix multi_item_terminal::get_elements() signature
A tuple is a multi_item_terminal that can contain NULLs, so we need to
return a vector of bytes_opt, not bytes.

Unfortunately the lists code needs to be uglified as a result.
2015-04-15 15:35:30 +03:00
Avi Kivity
c9d3a06157 cql3: fix multi_column_raw::prepare() signature
Wants a shared_ptr<column_specification>, not a reference.  Arguably
column_specification should be made into a value type.

Luckily no users yet.
2015-04-15 15:35:30 +03:00
Avi Kivity
b280592e88 db: add tri_compare_opt()
Like tri_compare(), but allows optional inputs.  Useful for tuples, where
NULLs are represented by null optionals.
2015-04-15 15:35:18 +03:00
Tomasz Grabiec
d086f131cf tests: Optimize includes
boost/test/unit_test.hpp is sufficient for tests which link with boost
UTF dynamically. It includes much less headers than
boost/test/included/unit_test.hpp.
2015-04-15 14:27:08 +03:00
Avi Kivity
37602e7241 Merge branch 'dpdk_lro-v4' of github.com:cloudius-systems/seastar-dev 2015-04-15 12:54:15 +03:00
Avi Kivity
57930eec29 Revert "dpdk: use combined library"
This reverts commit c25986ef82.

Seastar patch, committed to urchin by mistake.
2015-04-15 12:45:06 +03:00
Avi Kivity
4bbeeff351 Merge branch 'asias/gossip_v1' of github.com:cloudius-systems/seastar-dev into db 2015-04-15 11:07:40 +03:00
Asias He
650e69da9e gossip: Reduce header inclusion for gms/failure_detector.hh 2015-04-15 15:03:29 +08:00
Asias He
fc72506f68 gossip: Add gms/failure_detector.cc
Move code from failure_detector.hh to failure_detector.cc
2015-04-15 15:03:29 +08:00
Asias He
9a7546c170 gossip: Add copyright to gms/gossiper.cc 2015-04-15 15:03:29 +08:00
Asias He
494b8d61ff gossip: Reduce header inclusion 2015-04-15 15:03:29 +08:00
Asias He
eed2795abe gossip: Move code from gossiper.hh to gossiper.cc 2015-04-15 15:03:29 +08:00
Asias He
83f3199568 gossip: Use get_broadcast_address() helper 2015-04-15 15:03:29 +08:00
Vlad Zolotarov
1aad5d48c7 DPDK: Register Port statistics
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:34:27 +03:00
Vlad Zolotarov
539efcebc2 DPDK: added port_stats: struct and collection
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
7c692c499c net stats: Register backend specific collectd counters
Error counters are backend-specific thus we will register them separately
for each specific backend.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
671c57e5b9 xenfront: update network statistics
- Add xenfront_qp private member to fron_ring class.
   - Update network statistics.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
da02b240ef xenfront: Fix: initialize the "bunch" variable
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
a33994924f xenfront: make front_ring<T>::process_ring() return void
This function was always returning a ready future, so I made it
return void and changed the callers to explicitly return ready future.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
80bad5273a virtio: update network statistics
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
10cad8a87a DPDK: update network statistics
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
de9bad074b DPDK: rework the tx_buf methods interface
Rework the tx_buf class methods to accept dpdp_qp instead of tx_factory
and dpdk_device.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:57 +03:00
Vlad Zolotarov
0028959968 net: separated qp stats into a separate struct
- Moved all qp stats into a separate class: qp_stats.
   - Moved the stats update function into the new stats class.
   - Add the _stats_plugin_name property to net::qp class:
     default value is "network".

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 20:32:48 +03:00
Vlad Zolotarov
1ceaa13543 virtio: Disable/enable LRO according to "--lro" parameter
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 19:44:15 +03:00
Vlad Zolotarov
553e1a5e75 DPDK: Add LRO support
- Added LRO ON/OFF native stack command line parameter.
   - Implemented handling the reception of a clustered packet:
      - Without hugetlbfs: allocate a single buffer to contain the whole
        packet's data and copy its contents into it. If the allocation failed - build
        the "packet" directly from the cluster.
      - With hugetlbfs: create a packet from cluster mbuf's data buffers.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>

New in v3:
   - Use RTE_ETHDEV_HAS_LRO_SUPPORT defined in rte_ethdev.h instead of
     RTE_ETHDEV_LRO_SUPPORT defined in config/common_linuxapp.

New in v2:
   - dpdk_qp<false>::from_mbuf_lro(): Free the cluster after copying
     to the allocated buffer.
   - Some style cleanups.
2015-04-14 19:44:05 +03:00
Tomasz Grabiec
452507ceb6 Merge tag 'avi/element_deletion/v2' from seastar-dev.git to db 2015-04-14 15:59:53 +02:00
Avi Kivity
feb84c53a9 Merge branch 'tgrabiec/optimize-compilation' of github.com:cloudius-systems/seastar-dev into db
Compile speed improvements, from Tomasz.
2015-04-14 16:48:17 +03:00
Tomasz Grabiec
0ce2884b92 tests: Move cql_test_env implementation to .cc file 2015-04-14 15:36:44 +02:00
Tomasz Grabiec
90feb92f48 tests: Move CQL assertions definitions to .cc file 2015-04-14 15:36:44 +02:00
Tomasz Grabiec
6c3b92dccd tests: cql_query_test: Optimize includes 2015-04-14 15:36:43 +02:00
Tomasz Grabiec
4763260d24 cql3: Add header with forward declaration of query_options 2015-04-14 15:36:42 +02:00
Tomasz Grabiec
41b7fc89a7 transport: Introduce result_message_base.hh header
Which only has the abstract base class definition and only declares
individual message types, to reduce header dependency.
2015-04-14 15:36:42 +02:00
Tomasz Grabiec
b0ffcfb5a0 transport: Add missing include 2015-04-14 15:36:42 +02:00
Vlad Zolotarov
8fb948e1b2 DPDK: Use for() loop in dpdk_qp::refill_one_cluster()
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 15:41:01 +03:00
Vlad Zolotarov
7cdc99ca50 configure.py: Generate DPDK CFLAGS from DPDK's environment
Creates a temp makefile that includes the mk/rte.vars.mk from DPDK
SDK and prints MACHINE_CFLAGS. The value of MACHINE_CFLAGS is then added
to args.user_cflags.

Effectively the MACHINE_CFLAGS is a bunch of -DRTE_XXX macros and -march=native.
Without these flags the compilation fails inside rte_memcpy.h in the upstream DPDK
tree.

This patch reverts the 04e0c5293b patch.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 15:41:01 +03:00
Avi Kivity
1dd3f013c4 Merge branch 'master' of github.com:cloudius-systems/seastar into db 2015-04-14 15:16:47 +03:00
Avi Kivity
b8f310870a tests: add map_reduce() test 2015-04-14 15:13:15 +03:00
Avi Kivity
b35ea31cc9 futures: fix map_reduce() future chaining
map_reduce() did not properly chain futures, so the result was bogus.
2015-04-14 15:13:15 +03:00
Avi Kivity
6f5dc8c15e future: fix map_reduce() return type
Needs to return a future.
2015-04-14 14:55:36 +03:00
Avi Kivity
1e0bd3503a tests: add deletion operation tests for maps, sets, and lists 2015-04-14 12:25:30 +03:00
Avi Kivity
e679ec4675 cql3: enable deletion_operation grammar
DELETE foo[x] FROM tab;

where foo is some collection and x is a constant.
2015-04-14 12:25:30 +03:00
Avi Kivity
54b7cef55a cql3: convert element_deletion operation to C++ 2015-04-14 12:25:30 +03:00
Avi Kivity
94f4a23464 cql3: convert maps::discarder_by_key to C++ 2015-04-14 12:25:28 +03:00
Tomasz Grabiec
9ad074f062 Merge tag 'avi/batch_statement/v1' from git@github.com:cloudius-systems/seastar-dev.git
From Avi:

Note transport support for per-statement bind variables is not there yet.
2015-04-14 11:20:39 +02:00
Vlad Zolotarov
af3e2e08ee DPDK: Always enable HW CRC stripping
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
2015-04-14 11:29:34 +03:00
Tomasz Grabiec
3758fb5dcf tests: Fix build failure caused by the merge 2015-04-14 10:28:20 +02:00
Tomasz Grabiec
aebb05813d Merge branch 'master' of git@github.com:cloudius-systems/seastar.git
Conflicts:
	configure.py
2015-04-14 10:12:27 +02:00
Avi Kivity
79f1bbf1cb Merge branch 'amnon/adding_api' of github.com:cloudius-systems/seastar-dev into db
Initial RESTful API, from Amnon.
2015-04-13 19:00:40 +03:00
Amnon Heiman
aeb66fa409 API: Adding the stroage service stub
The storage service API will hold the equivelent information of the
StorageServiceMBean.

This adds the API with one stubed method the get local hostid.

After the patch the storage_service doc will be available at:
http://localhost:10000/api-doc/storage_service/

And the stubed local host id will be under:
http://localhost:10000/storage_service/local_hostid

and will return an empty string

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
2015-04-13 18:57:14 +03:00