LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org> To: Baoquan He <bhe@redhat.com> Cc: linux-kernel@vger.kernel.org, lcapitulino@redhat.com, keescook@chromium.org, tglx@linutronix.de, x86@kernel.org, hpa@zytor.com, fanc.fnst@cn.fujitsu.com, yasu.isimatu@gmail.com, indou.takao@jp.fujitsu.com, douly.fnst@cn.fujitsu.com Subject: Re: [PATCH 1/2] x86/boot/KASLR: Add two functions for 1GB huge pages handling Date: Thu, 21 Jun 2018 17:01:11 +0200 [thread overview] Message-ID: <20180621150111.GA23607@gmail.com> (raw) In-Reply-To: <20180516100532.14083-2-bhe@redhat.com> * Baoquan He <bhe@redhat.com> wrote: > +/* Store the number of 1GB huge pages which user specified.*/ > +static unsigned long max_gb_huge_pages; > + > +static int parse_gb_huge_pages(char *param, char* val) > +{ > + char *p; > + u64 mem_size; > + static bool gbpage_sz = false; > + > + if (!strcmp(param, "hugepagesz")) { > + p = val; > + mem_size = memparse(p, &p); > + if (mem_size == PUD_SIZE) { > + if (gbpage_sz) > + warn("Repeadly set hugeTLB page size of 1G!\n"); > + gbpage_sz = true; > + } else > + gbpage_sz = false; > + } else if (!strcmp(param, "hugepages") && gbpage_sz) { > + p = val; > + max_gb_huge_pages = simple_strtoull(p, &p, 0); > + debug_putaddr(max_gb_huge_pages); > + } > +} This function has at least one style problem and one typo. Also, we don't put statics in the middle of function variable blocks. > +/* Skip as many 1GB huge pages as possible in the passed region. */ > +static void process_gb_huge_page(struct mem_vector *region, unsigned long image_size) > +{ > + int i = 0; > + unsigned long addr, size; > + struct mem_vector tmp; > + > + if (!max_gb_huge_pages) { > + store_slot_info(region, image_size); > + return; > + } > + > + addr = ALIGN(region->start, PUD_SIZE); > + /* If Did we raise the address above the passed in memory entry? */ > + if (addr < region->start + region->size) > + size = region->size - (addr - region->start); > + > + /* Check how many 1GB huge pages can be filtered out*/ > + while (size > PUD_SIZE && max_gb_huge_pages) { > + size -= PUD_SIZE; > + max_gb_huge_pages--; > + i++; > + } > + > + if (!i) { > + store_slot_info(region, image_size); > + return; > + } > + > + /* Process the remaining regions after filtering out. */ > + > + if (addr >= region->start + image_size) { > + tmp.start = region->start; > + tmp.size = addr - region->start; > + store_slot_info(&tmp, image_size); > + } > + > + size = region->size - (addr - region->start) - i * PUD_SIZE; > + if (size >= image_size) { > + tmp.start = addr + i*PUD_SIZE; > + tmp.size = size; > + store_slot_info(&tmp, image_size); > + } > +} I counted about 5 style problems and at least one typo in this function ... Please review the code you are submitting more carefully for small details as well. Thanks, Ingo
next prev parent reply other threads:[~2018-06-21 15:01 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-16 10:05 [PATCH 0/2] x86/boot/KASLR: Skip specified number of 1GB huge pages when do physical randomization Baoquan He 2018-05-16 10:05 ` [PATCH 1/2] x86/boot/KASLR: Add two functions for 1GB huge pages handling Baoquan He 2018-05-17 3:27 ` Chao Fan 2018-05-17 4:03 ` Baoquan He 2018-05-17 5:53 ` Chao Fan 2018-05-17 6:13 ` Baoquan He 2018-05-17 5:12 ` damian 2018-05-17 5:38 ` Baoquan He 2018-06-21 15:01 ` Ingo Molnar [this message] 2018-06-22 12:14 ` Baoquan He 2018-06-24 7:13 ` Ingo Molnar 2018-05-16 10:05 ` [PATCH 2/2] x86/boot/KASLR: Skip specified number of 1GB huge pages when do physical randomization Baoquan He 2018-05-18 7:00 ` [PATCH 0/2] " Ingo Molnar 2018-05-18 7:43 ` Baoquan He 2018-05-18 8:19 ` Ingo Molnar 2018-05-18 11:28 ` Baoquan He 2018-05-18 12:14 ` Baoquan He 2018-05-23 19:10 ` Luiz Capitulino 2018-05-28 9:54 ` Baoquan He 2018-05-29 13:27 ` Luiz Capitulino
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180621150111.GA23607@gmail.com \ --to=mingo@kernel.org \ --cc=bhe@redhat.com \ --cc=douly.fnst@cn.fujitsu.com \ --cc=fanc.fnst@cn.fujitsu.com \ --cc=hpa@zytor.com \ --cc=indou.takao@jp.fujitsu.com \ --cc=keescook@chromium.org \ --cc=lcapitulino@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ --cc=yasu.isimatu@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).