Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jacobsa-fuse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
jacobsa-fuse
Commits
9232b827
Commit
9232b827
authored
Jul 28, 2015
by
Aaron Jacobs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Don't convert uint64 to interface{} for the context key every time.
This accounts for ~80% of gcsfuse allocations.
parent
c968295a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
2 deletions
+4
-2
connection.go
connection.go
+4
-2
No files found.
connection.go
View file @
9232b827
...
...
@@ -32,7 +32,7 @@ import (
type
contextKeyType
uint64
const
contextKey
contextKeyType
=
0
var
contextKey
interface
{}
=
contextKeyType
(
0
)
// Ask the Linux kernel for larger read requests.
//
...
...
@@ -447,7 +447,9 @@ func (c *Connection) ReadOp() (ctx context.Context, op interface{}, err error) {
// LOCKS_EXCLUDED(c.mu)
func
(
c
*
Connection
)
Reply
(
ctx
context
.
Context
,
opErr
error
)
{
// Extract the state we stuffed in earlier.
state
,
ok
:=
ctx
.
Value
(
contextKey
)
.
(
opState
)
var
key
interface
{}
=
contextKey
foo
:=
ctx
.
Value
(
key
)
state
,
ok
:=
foo
.
(
opState
)
if
!
ok
{
panic
(
fmt
.
Sprintf
(
"Reply called with invalid context: %#v"
,
ctx
))
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment