summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKevin Krakauer <krakauer@google.com>2021-03-19 13:44:26 -0700
committerKevin Krakauer <krakauer@google.com>2021-05-06 13:04:59 -0700
commit1e2ba2666135e7f28cb3c4185add5a257ad53637 (patch)
treeb11daeb518f926830c543e1dba158c8320bae3c4
parent4c9340fcbf0cb10c230925e24f082478f7c458a0 (diff)
Moved to atomicbitops and renamed files
-rw-r--r--pkg/atomicbitops/BUILD2
-rw-r--r--pkg/atomicbitops/aligned_32bit_unsafe.go (renamed from pkg/tcpip/aligned_unsafe.go)2
-rw-r--r--pkg/atomicbitops/aligned_64bit.go (renamed from pkg/tcpip/aligned.go)2
-rw-r--r--pkg/tcpip/BUILD3
-rw-r--r--pkg/tcpip/socketops.go3
-rw-r--r--pkg/tcpip/stack/BUILD1
-rw-r--r--pkg/tcpip/stack/stack.go5
-rw-r--r--pkg/tcpip/tcpip.go3
8 files changed, 13 insertions, 8 deletions
diff --git a/pkg/atomicbitops/BUILD b/pkg/atomicbitops/BUILD
index 1a30f6967..11072d4de 100644
--- a/pkg/atomicbitops/BUILD
+++ b/pkg/atomicbitops/BUILD
@@ -5,6 +5,8 @@ package(licenses = ["notice"])
go_library(
name = "atomicbitops",
srcs = [
+ "aligned_32bit_unsafe.go",
+ "aligned_64bit.go",
"atomicbitops.go",
"atomicbitops_amd64.s",
"atomicbitops_arm64.s",
diff --git a/pkg/tcpip/aligned_unsafe.go b/pkg/atomicbitops/aligned_32bit_unsafe.go
index 35e869453..1d71a0641 100644
--- a/pkg/tcpip/aligned_unsafe.go
+++ b/pkg/atomicbitops/aligned_32bit_unsafe.go
@@ -14,7 +14,7 @@
// +build arm 386
-package tcpip
+package atomicbitops
import (
"sync/atomic"
diff --git a/pkg/tcpip/aligned.go b/pkg/atomicbitops/aligned_64bit.go
index ea22c101f..21043c53d 100644
--- a/pkg/tcpip/aligned.go
+++ b/pkg/atomicbitops/aligned_64bit.go
@@ -14,7 +14,7 @@
// +build !arm,!386
-package tcpip
+package atomicbitops
import "sync/atomic"
diff --git a/pkg/tcpip/BUILD b/pkg/tcpip/BUILD
index 5237eba76..ea46c30da 100644
--- a/pkg/tcpip/BUILD
+++ b/pkg/tcpip/BUILD
@@ -19,8 +19,6 @@ go_template_instance(
go_library(
name = "tcpip",
srcs = [
- "aligned.go",
- "aligned_unsafe.go",
"errors.go",
"sock_err_list.go",
"socketops.go",
@@ -31,6 +29,7 @@ go_library(
],
visibility = ["//visibility:public"],
deps = [
+ "//pkg/atomicbitops",
"//pkg/sync",
"//pkg/tcpip/buffer",
"//pkg/waiter",
diff --git a/pkg/tcpip/socketops.go b/pkg/tcpip/socketops.go
index 8158e238d..b26936b7f 100644
--- a/pkg/tcpip/socketops.go
+++ b/pkg/tcpip/socketops.go
@@ -18,6 +18,7 @@ import (
"math"
"sync/atomic"
+ "gvisor.dev/gvisor/pkg/atomicbitops"
"gvisor.dev/gvisor/pkg/sync"
)
@@ -213,7 +214,7 @@ type SocketOptions struct {
getSendBufferLimits GetSendBufferLimits `state:"manual"`
// sendBufferSize determines the send buffer size for this socket.
- sendBufferSize AlignedAtomicInt64
+ sendBufferSize atomicbitops.AlignedAtomicInt64
// getReceiveBufferLimits provides the handler to get the min, default and
// max size for receive buffer. It is initialized at the creation time and
diff --git a/pkg/tcpip/stack/BUILD b/pkg/tcpip/stack/BUILD
index 2bd6a67f5..63ab31083 100644
--- a/pkg/tcpip/stack/BUILD
+++ b/pkg/tcpip/stack/BUILD
@@ -73,6 +73,7 @@ go_library(
],
visibility = ["//visibility:public"],
deps = [
+ "//pkg/atomicbitops",
"//pkg/ilist",
"//pkg/log",
"//pkg/rand",
diff --git a/pkg/tcpip/stack/stack.go b/pkg/tcpip/stack/stack.go
index 436392f23..3d9e1e286 100644
--- a/pkg/tcpip/stack/stack.go
+++ b/pkg/tcpip/stack/stack.go
@@ -29,6 +29,7 @@ import (
"time"
"golang.org/x/time/rate"
+ "gvisor.dev/gvisor/pkg/atomicbitops"
"gvisor.dev/gvisor/pkg/rand"
"gvisor.dev/gvisor/pkg/sync"
"gvisor.dev/gvisor/pkg/tcpip"
@@ -65,10 +66,10 @@ type ResumableEndpoint interface {
}
// uniqueIDGenerator is a default unique ID generator.
-type uniqueIDGenerator uint64
+type uniqueIDGenerator atomicbitops.AlignedAtomicUint64
func (u *uniqueIDGenerator) UniqueID() uint64 {
- return atomic.AddUint64((*uint64)(u), 1)
+ return ((*atomicbitops.AlignedAtomicUint64)(u)).Add(1)
}
// Stack is a networking stack, with all supported protocols, NICs, and route
diff --git a/pkg/tcpip/tcpip.go b/pkg/tcpip/tcpip.go
index 1bc13ef68..b39af42c4 100644
--- a/pkg/tcpip/tcpip.go
+++ b/pkg/tcpip/tcpip.go
@@ -40,6 +40,7 @@ import (
"sync/atomic"
"time"
+ "gvisor.dev/gvisor/pkg/atomicbitops"
"gvisor.dev/gvisor/pkg/sync"
"gvisor.dev/gvisor/pkg/waiter"
)
@@ -1220,7 +1221,7 @@ type NetworkProtocolNumber uint32
// A StatCounter keeps track of a statistic.
type StatCounter struct {
- count AlignedAtomicUint64
+ count atomicbitops.AlignedAtomicUint64
}
// Increment adds one to the counter.