Comments (3)
Seems I have still got this wrong. Going to remove the door_setparam calls and set the message size back to 512K for the time being and figure out what those calls actually do, and take @jasonbking's comments about mmap
into account before I take another swing at this.
from revolving-doors.
Specifically, what I am seeing is that the upper bound for a door_call message is -1 (unbounded?) on both smartos and openindiana, ulimit -s showed my stack limit to be ~10MB on both, and calling door_setparam with the arguments displayed in the current version of C0_payload_size/server.c is not sufficient to make the server door accept a 1MB message on openindiana.
I also am becoming skeptical that it is the distro which is the root of this behavior, as opposed to the zone config. I think I am in the global zone on my openindiana vm, but I need to verify that.
from revolving-doors.
W. Richard Stevens points out in Unix Network Programming vol. 2 that all of these fields can be modified independently. rbuf
and rsize
can be altered implicitly by the doors library if they refer to a too-small region in the recipient's heap. It seems we are guaranteed of these relationships after door_return
:
rbuf <= data_ptr <= desc_ptr < rbuf + rsize
data_size + desc_num * sizeof(door_desc_t) < rsize
from revolving-doors.
Related Issues (20)
- Clarify that door passing is a special case of descriptor passing
- Emphasize that door performance derives from scheduling HOT 3
- 18_backgrounding_processes/server.c has door routines from next step HOT 1
- Clarify DVD / USB downloads for OpenIndiana HOT 1
- Set up a sockets demo for contrast HOT 5
- Use door revoke instead of close
- Have setup guides create an unprivileged user
- Call door_return from "main" thread instead of sleep HOT 1
- Update diagrams with inline mermaid
- Add setup guide for SmartOS on Triton
- Add Check for Understanding on A0_result_parameters
- port Makefiles to illumos make
- Showcase a DNS server with separate door servers for each DNS zone
- Add an exercise about integrating shared memory
- Finish OpenIndiana Setup Guide HOT 3
- Write SmartOS setup guide
- Prefer open over stat+creat
- Lowercase illumos
- Prefer err.h family of functions over perror+exit
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from revolving-doors.