There are two situations in which the cluster_set_node_context()
interface doesn't work because it requires a node number to
passed as an argument.
1. When using the CLUSTERNODE_BEST feature of rexec*(). The
kernel is selecting the node at rexec time.
2. When using exec*() in any cluster aware application that wants
to force a context change to the new node in case exec time load
leveling is in affect.
Possible design solutions:
1. Using the same cluster_set_node_context() system call, have a
special node number (CLUSTERNODE_BEST, for example), cause a
flag to be set and on the next exec/rexec the context will be set to
whatever node is selected.
2. Remove the node number argument completely and make the
behavior always as in #1.
3. Retain the old interface for compatibility and add a new system
call which peforms the behavior as described in #1.
Log in to post a comment.