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

Core: bypass write to pipe for local transactions #672

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

toshic
Copy link
Member

@toshic toshic commented Nov 24, 2015

Reworked dnet_io_req_queue function to pass io_req struct directly
to the proper IO pool, eliminating write/read through pipe in net pool.

Reworked dnet_io_req_queue function to pass io_req struct directly
to the proper IO pool, eliminating write/read through pipe in net pool.
@@ -192,7 +206,10 @@ static struct dnet_io_req *dnet_io_req_copy(struct dnet_net_state *st, struct dn

offset = r->hsize;
memcpy(r->header, orig->header, r->hsize);
}
} else if (read_data) {
r->header = buf + sizeof(struct dnet_io_req);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If orig doesn't have header, why does it set r->header here?

@bioothod
Copy link
Member

Why is this needed? Do you have so many local requests which come from one queue to another?
What are these commands, and why do they need this special handling?

@toshic
Copy link
Member Author

toshic commented Nov 27, 2015

We want to run traffic-intensive wokers with SRW, and use Cocaine localnode service (it will be in separate PR later) to access data. We do not want to start elliptics client in each worker because our cluster is pretty large, and we can't update it (elliptics client inside worker's code) in case of Elliptics cluster major version upgrade.

To isolate work with dnet_io_req data pointers request fixup was moved to
dnet_io_req_copy function from dnet_io_req_queue.
@shaitan
Copy link
Member

shaitan commented Dec 11, 2015

@toshic It is ready to be merged, isn't it?

@toshic
Copy link
Member Author

toshic commented Dec 11, 2015

I shink so.

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.

4 participants