On 2014/7/29 7:24, Dave Hansen wrote: > On 07/28/2014 04:12 PM, David Rientjes wrote: >> I agree, but I'm not sure the suggestion is any better than the patch. I >> think it would be better to just figure out whether anything needs to be >> updated in the caller and then call a generic function. >> >> So in arch_add_memory(), do >> >> end_pfn = PFN_UP(start + size); >> if (end_pfn > max_pfn) >> update_end_of_memory_vars(end_pfn); >> >> and in arch_remove_memory(), >> >> end_pfn = PFN_UP(start); >> if (end_pfn < max_pfn) >> update_end_of_memory_vars(end_pfn); >> >> and then update_end_of_memory_vars() becomes a three-liner. > > That does look better than my suggestion, generally. > > It is broken in the remove case, though. In your example, the memory > being removed is assumed to be coming from the end of memory, and that > isn't always the case. I think you need something like: > > if ((max_pfn >= start_pfn) && (max_pfn < end_pfn) > update_end_of_memory_vars(start); > > But, yeah, that's a lot better than new functions. > Thanks for your comments! I will change according to your suggestions. > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxx. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>