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

Jschiller/fix minfs pants #142

Closed
wants to merge 10 commits into from

Conversation

jasonbs10
Copy link

No description provided.

dturner-tw and others added 10 commits February 1, 2016 18:08
experiment with fixed-size buffer pool using a channel
Rework the fuse library to have less overhead. Make it a new library with clear lineage.
#5)

* Removed type switching from serve.go and replaced it with a Servlet handler passed to Conn.Read().

* For now, explicitly disabling support for forget requests. We'll revisit this later.
#6)

* Selectively clear allocator bytes since most of them are immediately overridden. Added ThreadUnsafe mount option to control locking (not used yet). Removed all locking, it doesn't appear necessary on our supported platforms, second opinion needed though. Added some additional ops to the unsupported list.

* Added comments about allocator zeroing and removed an unused field.
@jasonbs10 jasonbs10 closed this Jun 15, 2016
@jasonbs10 jasonbs10 deleted the jschiller/fix_minfs_pants branch June 15, 2016 07:01
@jasonbs10 jasonbs10 restored the jschiller/fix_minfs_pants branch June 15, 2016 07:02
@tv42
Copy link
Member

tv42 commented Jun 15, 2016

What happened here?-)

@jasonbs10
Copy link
Author

User error happened - github defaults to your repo every time I create a pull request :/
Btw, we're doing a high performance rewrite and debated whether we should be API compatible with upstream but decided against it as the changes were too pervasive.

@tv42
Copy link
Member

tv42 commented Jun 15, 2016

I saw some of those changes. We should have a chat. I feel you're fixing little nits and missing the bigger things like #35 -- with vmsplice buffer management would look completely different.

@jasonbs10
Copy link
Author

The only important change in all of this is reducing the amount of allocation, and you're right everything else is basically nits. We're focusing on other code right now, after which we plan to scope out if we'll use fuse or our own vfs. Vmsplice is of interest though and I'll DM you if/when we decide to make more perf changes. Are you hoping for a PR or do you have this work planned out already?

@tv42
Copy link
Member

tv42 commented Jun 15, 2016

Well, I have a rough idea of how to use vmsplice right, but there's a bunch of things I could be doing. All help is appreciated, but talking about it first improves chances of me liking any submissions ;)

With vmsplice, there will be practically no "buffer management" allocations anymore, just a pool of large regions with multiple messages packed in each, to be reused after a refcount drops to zero.

Oh and I like what you did with avoiding the type switch, I might migrate to that too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants