Hi, I'm currently reading the memory management source code and get stuck on a function. In arch/x86/mm/init.c, there is a function called split_mem_range[0]. Its logic is very complicated and I can't figure out what it does. I have added some debug statements in this function to print all variable, but I still can't understand it. I have also searched it on Google and couldn't find any helpful articles. Could someone give me some help about what on earth this function does? Many thanks! [0] https://github.com/torvalds/linux/blob/bcfc1f4554662d8f2429ac8bd96064a59c149754/arch/x86/mm/init.c#L325 Regards, Hao Lee _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies