On Mon, Jun 17, 2013 at 11:22 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > 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. update the patches from 1-15 with your review. git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-x86-mm https://git.kernel.org/cgit/linux/kernel/git/yinghai/linux-yinghai.git/log/?h=for-x86-mm Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html