struct sched_param param = { sched_priority: MAX_USER_RT_PRIO - 1 }; 
struct sched_param param = { sched_priority: MAX_RT_PRIO - 1 }; 
xpc_activating(void *__partid){	partid_t partid = (u64) __partid;	struct xpc_partition *part = &xpc_partitions[partid];	unsigned long irq_flags;	struct sched_param param = { sched_priority: MAX_USER_RT_PRIO - 1 };	int ret;	DBUG_ON(partid <= 0 || partid >= XP_MAX_PARTITIONS);	spin_lock_irqsave(&part->act_lock, irq_flags);	if (part->act_state == XPC_P_DEACTIVATING) {		part->act_state = XPC_P_INACTIVE;		spin_unlock_irqrestore(&part->act_lock, irq_flags);		part->remote_rp_pa = 0;		return 0;	}	/* indicate the thread is activating */	DBUG_ON(part->act_state != XPC_P_ACTIVATION_REQ);	part->act_state = XPC_P_ACTIVATING;	XPC_SET_REASON(part, 0, 0);	spin_unlock_irqrestore(&part->act_lock, irq_flags);	dev_dbg(xpc_part, "bringing partition %d up\n", partid);	daemonize("xpc%02d", partid);	/*	 * This thread needs to run at a realtime priority to prevent a	 * significant performance degradation.	 */	ret = sched_setscheduler(current, SCHED_FIFO, &param);	if (ret != 0) {		dev_warn(xpc_part, "unable to set pid %d to a realtime "			"priority, ret=%d\n", current->pid, ret);	}	/* allow this thread and its children to run on any CPU */	set_cpus_allowed(current, CPU_MASK_ALL);	/*	 * Register the remote partition's AMOs with SAL so it can handle	 * and cleanup errors within that address range should the remote	 * partition go down. We don't unregister this range because it is	 * difficult to tell when outstanding writes to the remote partition	 * are finished and thus when it is safe to unregister. This should	 * not result in wasted space in the SAL xp_addr_region table because	 * we should get the same page for remote_amos_page_pa after module	 * reloads and system reboots.	 */	if (sn_register_xp_addr_region(part->remote_amos_page_pa,							PAGE_SIZE, 1) < 0) {		dev_warn(xpc_part, "xpc_partition_up(%d) failed to register "			"xp_addr region\n", partid);		spin_lock_irqsave(&part->act_lock, irq_flags);		part->act_state = XPC_P_INACTIVE;		XPC_SET_REASON(part, xpcPhysAddrRegFailed, __LINE__);		spin_unlock_irqrestore(&part->act_lock, irq_flags);		part->remote_rp_pa = 0;		return 0;	}	XPC_ALLOW_HB(partid, xpc_vars);	xpc_IPI_send_activated(part);	/*	 * xpc_partition_up() holds this thread and marks this partition as	 * XPC_P_ACTIVE by calling xpc_hb_mark_active().	 */	(void) xpc_partition_up(part);	xpc_mark_partition_inactive(part);	if (part->reason == xpcReactivating) {		/* interrupting ourselves results in activating partition */		xpc_IPI_send_reactivate(part);	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d46523ea32a79fbc8cd1237f9441f45cc3f02456/xpc_main.c/clean/arch/ia64/sn/kernel/xpc_main.c