Re: [PATCH V7] mm/debug: Add tests validating architecture page table helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Le 25/10/2019 à 10:24, Anshuman Khandual a écrit :


On 10/25/2019 12:41 PM, Christophe Leroy wrote:


Le 25/10/2019 à 07:52, Qian Cai a écrit :


On Oct 24, 2019, at 11:45 PM, Anshuman Khandual <Anshuman.Khandual@xxxxxxx> wrote:

Nothing specific. But just tested this with x86 defconfig with relevant configs
which are required for this test. Not sure if it involved W=1.

No, it will not. It needs to run like,

make W=1 -j 64 2>/tmp/warns


Are we talking about this peace of code ?

+static unsigned long __init get_random_vaddr(void)
+{
+    unsigned long random_vaddr, random_pages, total_user_pages;
+
+    total_user_pages = (TASK_SIZE - FIRST_USER_ADDRESS) / PAGE_SIZE;
+
+    random_pages = get_random_long() % total_user_pages;
+    random_vaddr = FIRST_USER_ADDRESS + random_pages * PAGE_SIZE;
+
+    WARN_ON((random_vaddr > TASK_SIZE) ||
+        (random_vaddr < FIRST_USER_ADDRESS));
+    return random_vaddr;
+}
+

ramdom_vaddr is unsigned,
random_pages is unsigned and lower than total_user_pages

So the max value random_vaddr can get is FIRST_USER_ADDRESS + ((TASK_SIZE - FIRST_USER_ADDRESS - 1) / PAGE_SIZE) * PAGE_SIZE = TASK_SIZE - 1
And the min value random_vaddr can get is FIRST_USER_ADDRESS (that's when random_pages = 0)

That's right.


So the WARN_ON() is just unneeded, isn't it ?

It is just a sanity check on possible vaddr values before it's corresponding
page table mappings could be created. If it's worth to drop this in favor of
avoiding these unwanted warning messages on x86, will go ahead with it as it
is not super important.


But you are checking what ? That the compiler does calculation correctly or what ? As mentionned just above, based on the calculation done, what you are testing cannot happen, so I'm having a hard time understanding what kind of sanity check it can be.

Can you give an exemple of a situation which could trigger the warning ?

Christophe

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-snps-arc




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux