summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-08-06Add reference counting utility to VFS2.Dean Deng
The utility has several differences from the VFS1 equivalent: - There are no weak references, which have a significant overhead - In order to print useful debug messages with the type of the reference- counted object, we use a generic Refs object with the owner type as a template parameter. In vfs1, this was accomplished by storing a type name and caller stack directly in the ref count (as in vfs1), which increases the struct size by 6x. (Note that the caller stack was needed because fs types like Dirent were shared by all fs implementations; in vfs2, each impl has its own data structures, so this is no longer necessary.) Updates #1486. PiperOrigin-RevId: 325271469
2020-08-06Merge pull request #3511 from amscanne:packetimpact-testsgVisor bot
PiperOrigin-RevId: 325269275
2020-08-06[runtime tests] Exclude failing python and java testsAyush Ranjan
test_httplib was un-excluded in cl/325137657. Exclude it again. test_httplib fails consistently when running in a kokoro job. Could not repro with Docker. There are some java tests that pass locally on Docker but fail when running within a kokoro job. Also make shard count a multiple of 8 to minimize idle cores and minimize test time. PiperOrigin-RevId: 325267071
2020-08-06Only register /dev/net/tun if supported.Dean Deng
PiperOrigin-RevId: 325266487
2020-08-06Join IPv4 all-systems group on NIC enableGhanan Gowripalan
Test: - stack_test.TestJoinLeaveMulticastOnNICEnableDisable - integration_test.TestIncomingMulticastAndBroadcast PiperOrigin-RevId: 325185259
2020-08-05Add loss recovery option for TCP.Nayana Bidari
/proc/sys/net/ipv4/tcp_recovery is used to enable RACK loss recovery in TCP. PiperOrigin-RevId: 325157807
2020-08-05Correctly decrement link counts in tmpfs rename operations.Dean Deng
When a directory is replaced by a rename operation, its link count should reach zero. We were missing the link from `dir/.` PiperOrigin-RevId: 325141730
2020-08-05[runtime tests] Update python tests.Ayush Ranjan
- un-exclude passing tests to increase testing surface. - create/update bugs for tests that fail on runsc but pass on runc. PiperOrigin-RevId: 325137657
2020-08-05Support receiving broadcast IPv4 packetsGhanan Gowripalan
Test: integration_test.TestIncomingSubnetBroadcast PiperOrigin-RevId: 325135617
2020-08-05Release extra memfd reference.Dean Deng
PiperOrigin-RevId: 325122849
2020-08-05Prefer RLock over Lock in functions that don't need Lock().Bhasker Hariharan
Updates #231 PiperOrigin-RevId: 325097683
2020-08-05Merge pull request #3502 from ↵gVisor bot
craig08:fuse-integration-test-fix-connection-refused PiperOrigin-RevId: 325080329
2020-08-05Stop profiling when the sentry exitsFabricio Voznika
Also removes `--profile-goroutine` because it's equivalent to `debug --stacks`. PiperOrigin-RevId: 325061502
2020-08-05[runtime tests] Update bugs and un-exclude passing tests.Ayush Ranjan
PiperOrigin-RevId: 325045486
2020-08-05Add missing case in tmpfs.inode.direntType.Dean Deng
This was discovered by syzkaller. PiperOrigin-RevId: 325025193
2020-08-04Update variables for implementation of RACK in TCPNayana Bidari
RACK (Recent Acknowledgement) is a new loss detection algorithm in TCP. These are the fields which should be stored on connections to implement RACK algorithm. PiperOrigin-RevId: 324948703
2020-08-04Enable "make packetimpact-tests" to work.Adin Scannell
This required minor fixes to the bazel wrapper. The "dut_platform" is also changed to "native" to line-up with the system call tests and remove the hard-coded "linux" and "netstack" strings.
2020-08-04Handle EOF in vfs2 sendfile.Dean Deng
Discovered by syzkaller. PiperOrigin-RevId: 324938438
2020-08-04Inline gofer.regularFileFD.pwriteLockedFabricio Voznika
Go compiler barely inlines anything, so inline by hand pwriteLocked since it's called from a single place. PiperOrigin-RevId: 324937734
2020-08-04Automated rollback of changelist 324906582Dean Deng
PiperOrigin-RevId: 324931854
2020-08-04[runtime tests] Exclude flaky tests.Ayush Ranjan
PiperOrigin-RevId: 324923599
2020-08-04Port sysbench benchmark.Zach Koopmans
PiperOrigin-RevId: 324918229
2020-08-04Error if dup'ing stdio FDs will clobber another FDFabricio Voznika
The loader dup's stdio FD into stable FD's starting at a fixed number. During tests, it's possible that the target FD is already in use. Added check to error early so it's easier to debug failures. Also bumped up the starting FD number to prevent collisions. PiperOrigin-RevId: 324917299
2020-08-04Use 1 fragmentation component per IP stackGhanan Gowripalan
This will help manage memory consumption by IP reassembly when receiving IP fragments on multiple network endpoints. Previously, each endpoint would cap memory consumption at 4MB, but with this change, each IP stack will cap memory consumption at 4MB. No behaviour changes. PiperOrigin-RevId: 324913904
2020-08-04Add reference counting utility to VFS2.Dean Deng
The utility has several differences from the VFS1 equivalent: - There are no weak references, which have a significant overhead - In order to print useful debug messages with the type of the reference- counted object, we use a generic Refs object with the owner type as a template parameter. In vfs1, this was accomplished by storing a type name and caller stack directly in the ref count (as in vfs1), which increases the struct size by 6x. (Note that the caller stack was needed because fs types like Dirent were shared by all fs implementations; in vfs2, each impl has its own data structures, so this is no longer necessary.) As an example, the utility is added to tmpfs.inode. Updates #1486. PiperOrigin-RevId: 324906582
2020-08-04Fix FUSE integration test failed with ECONNREFUSEDCraig Chi
The newer version of FUSE_INIT checks the response from the FUSE server if its major number is equal to 7. If it's not, then FUSE_INIT fails and further filesystem operations will get ECONNREFUSED. To mitigate this issue, we can send back a response with major version equals to 7 when consuming the first FUSE_INIT request. Fixes #3500
2020-08-04Merge pull request #3320 from craig08:fuse-integration-testgVisor bot
PiperOrigin-RevId: 324877577
2020-08-04Add FUSE integration testCraig Chi
This commit adds an integration test framework for FUSE support. Please refer to the test example and test/fuse/README.md for further details. Fixes #3098
2020-08-04docs: tools/images.mk does not exist.Kevin Krakauer
PiperOrigin-RevId: 324833018
2020-08-04[runtime tests] Fix nodejs runtime tests.Ayush Ranjan
- Exclude flaky tests. - Bump timeout. - Un-exclude passing tests to increase testing surface. - Create/Update bugs for tests that pass on runc but fail on runsc. PiperOrigin-RevId: 324830840
2020-08-04Internal change.gVisor bot
PiperOrigin-RevId: 324826968
2020-08-04Fix broken httpd_test.Bhasker Hariharan
PiperOrigin-RevId: 324822613
2020-08-04Internal change.gVisor bot
PiperOrigin-RevId: 324819246
2020-08-04Add shim documentation to the website.Ian Lewis
Add three new doc pages to the website. - A containerd quick start covering containerd 1.2. This is limited to shim v2 and runtime class as the docs would get too complicated explaining all the combinations that are possible. We want folks to use shim v2 and runtime class anyway. - An advanced configuration page. This covers containerd and containerd-shim-runsc-v1's configuration options. - A page for old versions (i.e. containerd 1.1). Notes that this is deprecated and supported on a best-effort basis. Fixes #3279 PiperOrigin-RevId: 324775563
2020-08-04Fix grouping and ordering of website menusIan Lewis
Groups subcategories and sorts their pages by weight properly. Subcategories are sorted by name. Pages within subcategories are sorted by weight. PiperOrigin-RevId: 324766128
2020-08-03Add callbacks to support lazy loading/restoring thread statesAndrei Vagin
PiperOrigin-RevId: 324748508
2020-08-03Exclude flaky nodejs runtime test.Dean Deng
PiperOrigin-RevId: 324738840
2020-08-03[vfs2] Implement /sys/devices/system/cpu/cpuX.Ayush Ranjan
Fixes #3364 PiperOrigin-RevId: 324724614
2020-08-03Internal change.gVisor bot
PiperOrigin-RevId: 324695672
2020-08-03Remove old TODO.Dean Deng
Fixes #2920. PiperOrigin-RevId: 324695118
2020-08-03Plumbing context.Context to DecRef() and Release().Nayana Bidari
context is passed to DecRef() and Release() which is needed for SO_LINGER implementation. PiperOrigin-RevId: 324672584
2020-08-03Merge pull request #3460 from zhlhahaha:1927gVisor bot
PiperOrigin-RevId: 324658881
2020-08-03Add inotify events for fallocate and tests for fallocate/sendfile.Dean Deng
Updates #1479, #2923. PiperOrigin-RevId: 324658826
2020-08-03Merge pull request #3469 from craig08:fuse-fix-test-mount-failedgVisor bot
PiperOrigin-RevId: 324657612
2020-08-03Add support for a reverse HTTPD test.Bhasker Hariharan
This change adds a new reverse HTTP test where the HTTPD server runs in a native container but the client runs inside gVisor. It allows us to test download performance under varying levels of concurrency. Also tweaks the concurrent request numbers to test for high levels of concurrency. PiperOrigin-RevId: 324651203
2020-08-03Fix syntax error in issue_reviver.Adin Scannell
PiperOrigin-RevId: 324642975
2020-08-03Include shim binaries in the Go branch.Adin Scannell
PiperOrigin-RevId: 324615016
2020-08-03AARCH64:fix variable name collision with register nameHoward Zhang
The variable name is g which is collision with the reserved name for R28. This leads to bazel build failure on ARM with following information: (register+register) not supported on this architecture rename it from g to ptr (referenced from golang source code) Signed-off-by: Howard Zhang <howard.zhang@arm.com>
2020-07-31Merge pull request #3300 from lubinszARM:pr_fpsimd_usrgVisor bot
PiperOrigin-RevId: 324309862
2020-07-31Fix PHONY target typosKevin Krakauer
PiperOrigin-RevId: 324305107