enode
#define RX_ELS_SIZE (roundup(sizeof(struct enode) + ELS_MAX_PAYLOAD, SMP_CACHE_BYTES))
qla_enode_free(scsi_qla_host_t *vha, struct enode *node)
struct enode *node, *q;
struct enode *e, *tmp;
static struct enode *
struct enode *node;
qla_enode_add(scsi_qla_host_t *vha, struct enode *ptr)
static struct enode *
struct enode *node_rtn = NULL;
struct enode *list_node, *q;
struct enode *ptr;
struct enode *ptr;
#define RX_ELS_SIZE (roundup(sizeof(struct enode) + ELS_MAX_PAYLOAD, SMP_CACHE_BYTES))
struct xbc_node *enode)
event = xbc_node_get_data(enode);
if (trace_boot_add_kprobe_event(enode, event) < 0)
if (trace_boot_add_synth_event(enode, event) < 0)
p = xbc_node_find_value(enode, "filter", NULL);
xbc_node_for_each_array_value(enode, "actions", anode, p) {
anode = xbc_node_find_subkey(enode, "hist");
} else if (xbc_node_find_value(enode, "actions", NULL))
if (xbc_node_find_value(enode, "enable", NULL)) {
struct xbc_node *gnode, *enode;
xbc_node_for_each_subkey(gnode, enode) {
data = xbc_node_get_data(enode);
trace_boot_init_one_event(tr, gnode, enode);
struct maple_enode *enode)
if (enode) {
mas->node = enode;
struct maple_enode *enode;
enode = tmp_mas->node;
tmp = mte_to_node(enode);
mte_set_node_dead(enode);
struct maple_enode *enode;
enode = mas_slot(mas, slots, mas->offset);
mas->node = enode;
enode = mas_slot(mas, slots, 0);
tmp = mte_to_node(enode);
mt = mte_node_type(enode);
mas->node = enode;
enum maple_type mas_parent_type(struct ma_state *mas, struct maple_enode *enode)
p_type = (unsigned long)mte_to_node(enode)->parent;
unsigned char mte_dead_leaves(struct maple_enode *enode, struct maple_tree *mt,
for (offset = 0; offset < mt_slot_count(enode); offset++) {
static void __rcu **mte_dead_walk(struct maple_enode **enode, unsigned char offset)
next = mte_to_node(*enode);
*enode = ma_enode_ptr(next);
node = mte_to_node(*enode);
struct maple_enode *enode;
enode = mt_mk_node(node, node->type);
slots = mte_dead_walk(&enode, 0);
node = mte_to_node(enode);
enode = node->piv_parent;
if (mte_to_node(enode) == node)
type = mte_node_type(enode);
slots = ma_slots(mte_to_node(enode), type);
slots = mte_dead_walk(&enode, offset);
node = mte_to_node(enode);
static inline void __rcu **mte_destroy_descend(struct maple_enode **enode,
struct maple_enode *next = *enode;
*enode = next;
node = mte_to_node(*enode);
type = mte_node_type(*enode);
mte_set_node_dead(*enode);
void mas_set_parent(struct ma_state *mas, struct maple_enode *enode,
prev = *enode;
static void mt_destroy_walk(struct maple_enode *enode, struct maple_tree *mt,
struct maple_node *node = mte_to_node(enode);
if (mte_is_leaf(enode)) {
mte_set_node_dead(enode);
node->type = mte_node_type(enode);
start = enode;
slots = mte_destroy_descend(&enode, mt, start, 0);
node = mte_to_node(enode); // Updated in the above call.
node->slot_len = mte_dead_leaves(enode, mt, slots);
enode = node->piv_parent;
if (mte_to_node(enode) == node)
type = mte_node_type(enode);
slots = ma_slots(mte_to_node(enode), type);
parent = enode;
enode = tmp;
slots = mte_destroy_descend(&enode, mt, parent, offset);
node = mte_to_node(enode);
} while (start != enode);
node = mte_to_node(enode);
node->slot_len = mte_dead_leaves(enode, mt, slots);
static inline void mte_destroy_walk(struct maple_enode *enode,
struct maple_node *node = mte_to_node(enode);
mt_destroy_walk(enode, mt, false);
mt_destroy_walk(enode, mt, true);
mte_to_node(enode)->parent = ma_parent_ptr(val);
unsigned int mte_parent_slot(const struct maple_enode *enode)
unsigned long val = (unsigned long)mte_to_node(enode)->parent;
struct maple_node *mte_parent(const struct maple_enode *enode)
(mte_to_node(enode)->parent) & ~MAPLE_NODE_MASK);
static __always_inline bool mte_dead_node(const struct maple_enode *enode)
node = mte_to_node(enode);
static void mt_destroy_walk(struct maple_enode *enode, struct maple_tree *mt,