Exemple #1
0
/** Initialisation of the DSM module.
 *  @author Renaud Lottiaux
 *
 *  Start object server, object manager and kddm set manager threads.
 *  Register kermm services in the /proc/kerrighed/services.
 */
int init_kermm(void)
{
    printk("KerMM initialisation : start\n");

    krgsyms_register (KRGSYMS_VM_OPS_NULL, &null_vm_ops);
    krgsyms_register (KRGSYMS_VM_OPS_FILE_GENERIC, &generic_file_vm_ops);
    special_mapping_vm_ops_krgsyms_register ();
    krgsyms_register (KRGSYMS_VM_OPS_MEMORY_KDDM_VMOPS,
                      &anon_memory_kddm_vmops);

    krgsyms_register (KRGSYMS_ARCH_UNMAP_AREA, arch_unmap_area);
    krgsyms_register (KRGSYMS_ARCH_UNMAP_AREA_TOPDOWN,
                      arch_unmap_area_topdown);
    krgsyms_register (KRGSYMS_ARCH_GET_UNMAP_AREA, arch_get_unmapped_area);
    krgsyms_register (KRGSYMS_ARCH_GET_UNMAP_AREA_TOPDOWN,
                      arch_get_unmapped_area_topdown);
    krgsyms_register (KRGSYMS_KDDM_PT_OPS, &kddm_pt_set_ops);

    register_io_linker (MEMORY_LINKER, &memory_linker);
    register_io_linker (MM_STRUCT_LINKER, &mm_struct_io_linker);

    mm_struct_init ();
    mm_server_init();
    mm_injection_init();

    register_hotplug_notifier(mm_notification, HOTPLUG_PRIO_MM);

    printk ("KerMM initialisation done\n");

    return 0;
}
Exemple #2
0
void init_cluster_barrier(void)
{
	init_and_set_unique_id_root(&barrier_id_root, CLUSTER_BARRIER_MAX);
	barrier_table = hashtable_new(TABLE_SIZE);

	rpc_register_int (RPC_ENTER_BARRIER, handle_enter_barrier, 0);
	rpc_register_int (RPC_EXIT_BARRIER, handle_exit_barrier, 0);

	register_hotplug_notifier(barrier_notification, HOTPLUG_PRIO_BARRIER);
}
Exemple #3
0
int rpc_hotplug_init(void){
#ifdef CONFIG_KERRIGHED
	register_hotplug_notifier(rpc_notification, HOTPLUG_PRIO_RPC);
#endif
	return 0;
};