Re: [patch 2/3] Introduce BOOTMEM_EXCLUSIVE

From: Dave Hansen
Date: Tue Oct 16 2007 - 14:08:49 EST


On Tue, 2007-10-16 at 18:28 +0200, Bernhard Walle wrote:
>
> @@ -736,7 +736,7 @@ static int __init smp_scan_config (unsig
> smp_found_config = 1;
> printk(KERN_INFO "found SMP MP-table at %08lx\n",
> virt_to_phys(mpf));
> - reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE);
> + reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE, 0);
> if (mpf->mpf_physptr) {
> /*

Could you give all of these 0's a name? I really hate seeing random
magic numbers in these things. 0 completely kills the ability of
someone to read the code and figure out what it is trying to do without
going and looking at reserve_bootmem().

Or, alternatively, do something like this:

-extern void reserve_bootmem(unsigned long addr, unsigned long size);
+/*
+ * If flags is 0, then the return value is always 0 (success). If
+ * flags contains BOOTMEM_EXCLUSIVE, then -EBUSY is returned if the
+ * memory already was reserved.
+ */
+extern int reserve_bootmem(unsigned long addr, unsigned long size, int flag);
+int reserve_bootmem(unsigned long addr, unsigned long size)
+{
+ /* the 0 is because we don't
+ return reserve_bootmem_exclusive(addr, size, 0);
+}

Where all of the existing callers stay the same. But, the ones wanting
exclusive access actually call the _exclusive() variant.

-- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/