On Mon, Jun 17, 2013 at 6:58 PM, Tejun Heo <tj@xxxxxxxxxx> wrote: > On Thu, Jun 13, 2013 at 09:03:03PM +0800, Tang Chen wrote: >> From: Yinghai Lu <yinghai@xxxxxxxxxx> >> >> numa_emulation() needs to allocate buffer for new numa_meminfo >> and distance matrix, so execute it later in x86_numa_init(). >> >> Also we change the behavoir: >> - before this patch, if user input wrong data in command >> line, it will fall back to next numa probing or disabling >> numa. >> - after this patch, if user input wrong data in command line, >> it will stay with numa info probed from previous probing, >> like ACPI SRAT or amd_numa. >> >> We need to call numa_check_memblks to reject wrong user inputs early >> so that we can keep the original numa_meminfo not changed. > > So, this is another very subtle ordering you're adding without any > comment and I'm not sure it even makes sense because the function can > fail after that point. Yes, if it fail, we will stay with current numa info from firmware. That looks like right behavior. Before this patch, it will fail to next numa way like if acpi srat + user input fail, it will try to go with amd_numa then try apply user info. > > I'm getting really doubtful about this whole approach of carefully > splitting discovery and registration. It's inherently fragile like > hell and the poor documentation makes it a lot worse. I'm gonna reply > to the head message. Maybe look at the patch is not clear enough, but if looks at the final changed code it would be more clear. Thanks Yinghai -- 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>