/** 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; }
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); }
int rpc_hotplug_init(void){ #ifdef CONFIG_KERRIGHED register_hotplug_notifier(rpc_notification, HOTPLUG_PRIO_RPC); #endif return 0; };