Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

all code for aws CodeGuru #7

Open
wants to merge 352 commits into
base: empty-for-aws
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
3a3503f
Change import order
May 19, 2019
166f80a
Refactor PacketBuffer tests
May 19, 2019
7db8baf
Fix typo
May 19, 2019
69acb27
Increase MemoryUtils coverage and reduce number of branches
May 19, 2019
9461e54
Disable resource mapping tests until cause is found
May 19, 2019
e49e753
Remove a few useless lines
May 19, 2019
576c9f5
Update DisplayName annotations
May 19, 2019
d0f9bcb
Add MemoryPool test with 100% coverage
May 19, 2019
3f692a0
Reduce Pci complexity to pass it down to subclasses
May 19, 2019
9949315
Add generic module and fix optional jacoco test execution data
May 19, 2019
6838c3e
Refactor MemoryPool to implement the Collection interface
May 20, 2019
4fbe6fe
Rename MemoryPool to Mempool
May 20, 2019
ae1397e
Rename Pci methods (un)bindDriver to (un)bind
May 20, 2019
e0ff780
Add missing @see tags
May 20, 2019
f1e90d0
Add Ixy's generic module
May 20, 2019
e4e11a3
Add @author JavaDoc tags
May 20, 2019
6b7b8fd
Add author, fix resource leak and supress warnings
May 20, 2019
f56a616
Huge refactor
May 25, 2019
abed3b7
Rename deallocate to free
May 27, 2019
3b08fcf
Add generic module
May 31, 2019
4ffdbc1
Add Ixgbe module
May 31, 2019
ed7ccdc
Add a generic packet buffer interface
May 31, 2019
b563565
PacketBuffer now implements IxyPacketBuffer
May 31, 2019
01eec4f
Add generic memory manager
Jun 1, 2019
784ea36
Unsafe-based memory manager
Jun 1, 2019
c85eadc
Fix typos and update logging messages
Jun 1, 2019
533ceef
Fix smartAllocate typo
Jun 1, 2019
ab17a6a
Add JNI-based memory manager
Jun 1, 2019
42d110e
Fix visibility of constructor
Jun 1, 2019
fd8ad08
Add final keyword to exceptions
Jun 1, 2019
a08a040
Add address translation method
Jun 1, 2019
4dbdfad
Add deprecation annotation to unsafe memory address translation
Jun 1, 2019
4e40ddd
Fix constructor scope
Jun 1, 2019
9e96750
Add DualMemory implementation
Jun 2, 2019
f215719
Add dmaAllocation implementation
Jun 2, 2019
6468b72
Add SmartMemoryManager implementation
Jun 2, 2019
e3d88a7
Fix DmaMemory test case
Jun 2, 2019
2227e58
Remove useless documentation
Jun 2, 2019
e53301c
All test member properties are now transient
Jun 2, 2019
02cdd1f
Add AssertJ support to DmaMemoryTest
Jun 2, 2019
b5d6850
Refactor EnabledIfRoot annotation
Jun 2, 2019
385a12f
Refactor memory manager tests
Jun 2, 2019
8a8aec2
Add copy and copyVolatile (implementation and test)
Jun 2, 2019
28c7784
Refactor JNI implementation
Jun 4, 2019
5a3e859
Fix IxyMemoryManager documentation, rename DualMemory to DmaMemory an…
Jun 4, 2019
a51b794
Fix parameter names and javadocs
Jun 4, 2019
e9f3bb2
Rename DmaMemory to IxyDmaMemory
Jun 4, 2019
801aae4
Fix UnsafeMemoryManager implementation
Jun 4, 2019
50b78aa
Fix IxyDmaMemory interface name and IxyMemoryManager javadoc
Jun 4, 2019
97f4d75
Use at least one line per sentence in Javadocs
Jun 4, 2019
f5a79be
Cache exception usage
Jun 4, 2019
8abb221
Fix JniMemoryManager
Jun 4, 2019
4dd21c3
Fix SmartMemoryManager
Jun 4, 2019
f44ab60
Remove unnecessary offset parameter
Jun 4, 2019
06cd99e
Fix JNI memory copying and SmartMemoryManager code coverage
Jun 4, 2019
7db6321
Improve SmartMemoryManagerTest readability
Jun 4, 2019
469978b
Change some variable names
Jun 4, 2019
8aaa51d
Fix UnsafeMemoryManagerTest
Jun 4, 2019
38b2b3a
Fix DisabledIfOptimized and JniMemoryManagerTest
Jun 5, 2019
e3a2b0a
Fix SmartMemoryManager comments
Jun 5, 2019
b3fecba
Update memory manager structure and fix tests' concurrency issues
Jun 5, 2019
ee98c41
Fix PacketBuffer implementation and tests
Jun 5, 2019
77d3fa6
Add Comparable interface to PacketBuffer
Jun 5, 2019
9515109
Add Clonable interface to PacketBuffer
Jun 5, 2019
7126987
Add PacketBuffer.Builder (implementation and test)
Jun 5, 2019
e7af6fd
Finish (Ixy)DmaMemory
Jun 6, 2019
d8a7fd6
Add self-explanatory exceptions
Jun 7, 2019
4c9ff8a
Refactor memory manager specification
Jun 7, 2019
4f2b4bc
Finish DisabledIfOptimizedCondition
Jun 8, 2019
0f9fd12
Finish EnabledIfRoot
Jun 8, 2019
4f1e234
Reduce code duplication with static class Utility
Jun 8, 2019
7a2fa08
Finish UnsafeMemoryManager
Jun 8, 2019
7d64c60
Finish IxySharedLibrary
Jun 9, 2019
09bae0a
Finish memory managers and remove unused code
Jun 9, 2019
8d6f7f4
Add JetBrains annotations
Jun 9, 2019
af835c4
Do not use getters for toString
Jun 9, 2019
8e20cc3
Fix Contracts
Jun 10, 2019
0a9d1d2
Fix Gradle build file
Jun 10, 2019
c75ce51
Finish IxyPacketBuffer
Jun 10, 2019
454b66f
Update IxyPacketBuffer brief description
Jun 10, 2019
6fd23bf
Add Ixy's memory pool specification
Jun 10, 2019
63aee5e
Update exceptions (add and remove constructors)
Jun 10, 2019
0e399ed
Add missing annotation
Jun 10, 2019
a8f061b
Remove unnecessary supress warnings
Jun 10, 2019
fe0b767
Add another copy method and remove supressed warnings
Jun 10, 2019
3173777
Remove empty constructors and supressed warnings
Jun 10, 2019
a75159c
Remove unnecessary supression warnings and simplified code
Jun 10, 2019
c0059d0
Add exception testing
Jun 10, 2019
1f2911f
Finish DmaMemory testing
Jun 10, 2019
5cbeffa
Finish UnsafeMemoryManager tests
Jun 10, 2019
0ea3c42
Finish SmartMemoryManager tests
Jun 10, 2019
e2f36ee
Finish JniMemoryManager tests
Jun 10, 2019
b799328
Rename AbstractMemoryManagerTest to AbstractMemoryTest
Jun 10, 2019
928ac6e
Improve coverage of exceptions
Jun 12, 2019
3821c4a
Use concrete classes in DmaMemory
Jun 12, 2019
5c26b08
Finish PacketBuffer
Jun 12, 2019
b0b074c
Fix property inheritance
Jun 12, 2019
5ea25f1
Add queue specification
Jun 12, 2019
ebd4f6f
Add device specification
Jun 12, 2019
b5466e4
Add pci device specification
Jun 12, 2019
2991c15
Update exceptions of IxyPciDevice interface
Jun 13, 2019
439f179
Add optimization annotation
Jun 13, 2019
65e8a24
Add InvalidNullParameterException tests
Jun 13, 2019
431ea5e
Add missing DisplayName annotations
Jun 13, 2019
9b9f931
Update EnabledIfRoot implementation
Jun 13, 2019
625839d
Add InvalidNullParameter exception
Jun 13, 2019
5445779
Update annotations
Jun 13, 2019
70bf6ad
Fix vendor id data type
Jun 14, 2019
43da8b4
Refactor PCI
Jun 14, 2019
8ccde50
Remove unused messages
Jun 14, 2019
b5e3f22
Add initial Ixy driver specification
Jun 14, 2019
e335277
Fix PacketBuffer (implementation and tests)
Jun 15, 2019
c15e77c
Update Gradle build scripts
Jun 15, 2019
10e50a3
Add Ixy's forwarder library module
Jun 15, 2019
82dcfb6
Update memory manager specification
Jun 15, 2019
5382737
Add package information of PCI module
Jun 15, 2019
a0fa0f4
Finish Ixy PCI module
Jun 16, 2019
ea99fe0
Add missing annotations and change inheritance
Jun 16, 2019
0de6d44
Reduce IntelliJ warnings
Jun 16, 2019
06e48f3
Remove useless dependency
Jun 16, 2019
f0d7764
Add missing JavaDoc
Jun 16, 2019
5d524a9
Remove Logback and remove unused BuildConfig fields
Jun 16, 2019
f564aed
Optimize code, reduce warnings and removed anomalies
Jun 16, 2019
51132fd
Add missing package-info.java files
Jun 16, 2019
59f9508
Update memoy pool
Jun 16, 2019
8ff4858
Add stats
Jun 16, 2019
1df572d
Update Gradle scripts
Jun 17, 2019
ceed0ab
Add stats module
Jun 17, 2019
f30330d
Finish stats
Jun 17, 2019
96d5cd9
Fix dummy device
Jun 17, 2019
9974a26
Suppress PMD warning
Jun 17, 2019
d1b360c
Update JNI header file
Jun 17, 2019
47ec1bf
Remove cyclic dependency
Jun 17, 2019
8d15ded
Prepare forwarder module
Jun 17, 2019
81f3e80
Add plugin architecture
Jun 17, 2019
ef00f81
Update Gradle scripts
Jun 17, 2019
4f80d05
Add app Lombok configuration
Jun 17, 2019
e1991b1
Set plugins location and add uberfat dependency task
Jun 17, 2019
4fe5d55
Add PF4J support
Jun 17, 2019
f111e97
Set 'generic' module as compileOnly
Jun 17, 2019
8cc7917
Finish Ixy's PCI module
Jun 17, 2019
8b6a531
Finish Ixy's Stats module
Jun 17, 2019
2f42195
Finish Ixy's Memory module
Jun 17, 2019
faea78f
Update Gradle to 5.5 RC3
Jun 17, 2019
3cfd0fc
Suppressed warnings and add driver interface
Jun 17, 2019
fd0cec7
Add simple application with PF4J architecture
Jun 17, 2019
f2e8771
Update deprecated Jar configuration options
Jun 17, 2019
c09e220
Add Logback configuration
Jun 17, 2019
80dfaee
Fix JavaDocs
Jun 17, 2019
d87d031
Fix dependency scope
Jun 17, 2019
b7b878e
Use project reference to extract module name
Jun 17, 2019
98cbe99
Update plugin and fix dependencies scopes
Jun 18, 2019
e64a66a
Rename parameter
Jun 18, 2019
0d89664
Remove provision shell scripts
Jun 18, 2019
3326bc5
Highlight logging level
Jun 19, 2019
4128ed0
Add run configuration
Jun 19, 2019
269aac6
Add application and allow running it with Gradle
Jun 19, 2019
4b06a6c
Disable port range limitation
Jun 19, 2019
c361f06
Add packet generator module
Jun 19, 2019
6e0db47
Add isSupported() method to devices
Jun 20, 2019
4c32d99
Finish plugin entrypoint for Ixgbe
Jun 20, 2019
72d7ca3
Initial IxgbeQueue implementation
Jun 20, 2019
6fd2a07
Add Java installation and PCI to NIC mapping to the root user
Jun 20, 2019
a701ed7
Add JDK_HOME variable
Jun 20, 2019
4f2e4ce
Fix wrong path for root '.profile' file
Jun 20, 2019
82bb49a
Add device instantiation
Jun 20, 2019
e527209
Fix main(String[]) entrypoint
Jun 20, 2019
f41e0e2
Add plugin manager that uses only manifest files
Jun 20, 2019
9b4e716
Fix root environment variables
Jun 20, 2019
e2ebe31
Initial Ixgbe device implementation
Jun 20, 2019
8f82f2b
Initial queues implementation
Jun 20, 2019
5e55e18
Fix driver name
Jun 21, 2019
c16d667
Add a little bit of logging
Jun 21, 2019
2a239ce
Fix class id reading method
Jun 21, 2019
36300a3
Fix isSupported implementation
Jun 21, 2019
be00186
Fix logging messages
Jun 21, 2019
0218670
Finish Ixy stats implementation
Jun 22, 2019
63cf078
Finish Ixy PCI implementation
Jun 22, 2019
3e41940
Add concurrent execution annotation
Jun 22, 2019
c455c9f
Add missing checked exceptions and increase coverage to 100%
Jun 22, 2019
a6a082e
Correctly testing parameter checking
Jun 22, 2019
bd7213b
Fix exceptions scopes and add tests
Jun 22, 2019
b4b7737
Remove unnecessary contracts
Jun 22, 2019
7341472
Remove redundant annotations
Jun 22, 2019
185c327
Add tests for generic module, more methods to manage memory and updat…
Jun 23, 2019
62d302a
Refactor IxyStats and Stats
Jun 23, 2019
988b42d
PCI code more readable
Jun 24, 2019
bf298c1
Add missing 'throws' javadoc tags
Jun 24, 2019
8e8c264
Remove useless contracts
Jun 24, 2019
48a4592
Cleanup code
Jun 24, 2019
bfc31f3
Add packet generator
Jun 24, 2019
02b83e9
Fix pci2nic script for Baltikum
Jun 25, 2019
3c1082e
Add statistics copying method
Jun 25, 2019
e5ccaa9
Fix PCI testing
Jun 25, 2019
7201724
Update Gradle scripts
Jun 25, 2019
7c4c586
Fix JavaDocs
Jun 25, 2019
9c31aec
Update Driver interface
Jun 25, 2019
f08aac3
Update driver-agnostic app
Jun 25, 2019
704717e
Fix Ixgbe exceptions visibility
Jun 25, 2019
52bed51
Update queues
Jun 25, 2019
659decd
Update plugin interface
Jun 25, 2019
9b9aed6
Refactor memory pools
Jun 25, 2019
94f1dd4
Add missing dependencies
Jun 25, 2019
409e8fc
Fix JavaDoc and comment Mempool tests
Jun 25, 2019
636530a
Fix tests again
Jun 25, 2019
3c56cae
Fix JavaDoc
Jun 25, 2019
80395ca
Fix JavaDoc
Jun 25, 2019
8919661
Forwarder initial commit
Jun 25, 2019
b4135e3
Fix Gradle scripts
Jun 25, 2019
1dc0616
Enable DEBUG logging
Jun 25, 2019
b534533
Add device allocation
Jun 25, 2019
5f56ce6
Fix dummy device
Jun 25, 2019
f32c3b5
Enable logging of packet generator and forwarder
Jun 25, 2019
a7fbf27
Add a little logging
Jun 25, 2019
40e3945
Enable trace logging
Jun 25, 2019
c636959
Fix PCI testing
Jun 25, 2019
faf3e7a
Replace debug messages with trace messages
Jun 25, 2019
521fd97
Update packet generation creation
Jun 25, 2019
7dfe0a5
Add missing newline
Jun 25, 2019
1d87b55
Push working version
Jun 25, 2019
b5d2a48
Add packet generation loop
Jun 25, 2019
66ecbca
Super refactoring; drop plugable architecture in favor of tight but s…
Jul 28, 2019
fbf8b30
Add address check for dmaAllocate
Aug 11, 2019
30774ee
Add more checks to descriptor fields
Aug 11, 2019
fad4792
Fix all IntelliJ IDEA warnings
Aug 11, 2019
d2dd92d
Update package description
Aug 11, 2019
beca806
Fix all InteliJ IDEA warnings
Aug 11, 2019
dd84dfc
Reduce number of InteliJ IDEA warnings
Aug 11, 2019
221aac5
Add high-performance setting script
Aug 13, 2019
9e639ae
Add MoonGen installation script
Aug 13, 2019
b45a1d5
Add launch scripts default operation with support to override the arg…
Aug 13, 2019
c41df96
Increase heap usage even more
Aug 13, 2019
72cbb9b
Add 'cpupower' dependency
Aug 13, 2019
a88401e
Fix AutoCloseable error
Aug 13, 2019
614bb56
Fix IntelliJ warning
Aug 13, 2019
49a7b9b
Add packet data manipulation for workload simulation
Aug 13, 2019
a8be834
Use busy-waiting for register setting
Aug 14, 2019
fcad503
Fix duplicated virtual addresses and add README.md
Aug 20, 2019
a924b35
Update LICENSE
egasato Aug 20, 2019
d839ae3
Fix typos
Aug 20, 2019
1fce9fc
Merge branch 'master' of github.com:ixy-languages/ixy.java
Aug 20, 2019
cdead7d
Fix script typo
Aug 20, 2019
538442d
Fix default NICs
Aug 20, 2019
00f1bf4
Set execute bit on all shell scripts
ackxolotl Aug 28, 2019
1eebc9b
Merge pull request #1 from ackxolotl/master
egasato Aug 28, 2019
85c5b2c
fix volatile writes on some systems
emmericp Sep 6, 2019
82d19d1
fix readme
emmericp Sep 6, 2019
8c90ffa
use better openjdk build and cleanup
emmericp Sep 6, 2019
279b4a2
don't unnecessarily read ring registers
emmericp Sep 6, 2019
0271e5d
update scripts
emmericp Sep 8, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sh text eol=lf
82 changes: 82 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Custom rules
.vagrant
.vs
.vscode
bin

# From the Java template
*.class
*.log
*.jar
*.zip
hs_err_pid*

# From the Gradle template
gradle
.gradle
build
!gradle-wrapper.jar
!gradle-wrapper.properties

# From the Windows template
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk

# From the Linux template
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

# From the JetBrains template
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/dictionaries
.idea/**/shelf
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
.idea/**/gradle.xml
.idea/**/libraries
.idea/**/mongoSettings.xml
.idea/replstate.xml
.idea/httpRequests
.idea_modules/
*.iws
cmake-build-debug/
cmake-build-release/
out/

# From the macOS template
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

944 changes: 944 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/modules/ixy.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/modules/ixy.java.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading