From: "H. Peter Anvin" <hpa@zytor.com>
To: Joe Perches <joe@perches.com>
Cc: Christoph Lameter <cl@linux-foundation.org>,
Yinghai Lu <yinghai@kernel.org>, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH 24/38] move round_up/down to kernel.h
Date: Fri, 22 Jan 2010 12:08:01 -0800 [thread overview]
Message-ID: <4B5A05A1.3040901@zytor.com> (raw)
In-Reply-To: <1264188512.32383.118.camel@Joe-Laptop.home>
On 01/22/2010 11:28 AM, Joe Perches wrote:
> On Fri, 2010-01-22 at 08:52 -0600, Christoph Lameter wrote:
>> On Fri, 22 Jan 2010, Yinghai Lu wrote:
>>> +#define __round_mask(x,y) ((__typeof__(x))((y)-1))
>>> +#define round_up(x,y) ((((x)-1) | __round_mask(x,y))+1)
>>> +#define round_down(x,y) ((x) & ~__round_mask(x,y))
>> s/round/round_power2/
>
> s/round/round_power_of_2/
> BUILD_BUG_ON_NOT_POWER_OF_2
>
Uh... the whole reason why the classical rounding functions don't work
is that we're using it with non-constants, and therefore the compiler
doesn't know that we're restricted to powers of two (and therefore it
will generate divides.)
-hpa
next prev parent reply other threads:[~2010-01-22 20:09 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-22 9:24 [PATCH -v5 0/38] x86: not use bootmem for x86 Yinghai Lu
2010-01-22 9:24 ` [PATCH 01/38] x86: move range related operation to one file Yinghai Lu
2010-01-22 9:24 ` [PATCH 02/38] x86: check range in update range Yinghai Lu
2010-01-22 9:24 ` [PATCH 03/38] x86/pci: use resource_size_t in update_res Yinghai Lu
2010-01-22 9:24 ` [PATCH 04/38] x86/pci: amd one chain system to use pci read out res Yinghai Lu
2010-01-22 9:24 ` [PATCH 05/38] x86/pci: use u64 instead of size_t in amd_bus.c Yinghai Lu
2010-01-22 9:24 ` [PATCH 06/38] x86/pci: add cap_resource Yinghai Lu
2010-01-22 9:24 ` [PATCH 07/38] x86/pci: enable pci root res read out for 32bit too Yinghai Lu
2010-01-22 9:24 ` [PATCH 08/38] x86: call early_res_to_bootmem one time Yinghai Lu
2010-01-22 9:24 ` [PATCH 09/38] x86: introduce max_early_res and early_res_count Yinghai Lu
2010-01-22 9:24 ` [PATCH 10/38] x86: dynamic increase early_res array size Yinghai Lu
2010-01-22 9:24 ` [PATCH 11/38] x86: print bootmem free before pci_iommu_alloc and free_all_bootmem -v2 Yinghai Lu
2010-01-22 9:24 ` [PATCH 12/38] x86: make early_node_mem get mem > 4g if possible Yinghai Lu
2010-01-22 9:24 ` [PATCH 13/38] x86: only call dma32_reserve_bootmem 64bit !CONFIG_NUMA Yinghai Lu
2010-01-22 9:24 ` [PATCH 14/38] x86: make 64 bit use early_res instead of bootmem before slab Yinghai Lu
2010-01-22 9:24 ` [PATCH 15/38] sparsemem: put usemap for one node together Yinghai Lu
2010-01-22 9:24 ` [PATCH 16/38] sparsemem: put mem map " Yinghai Lu
2010-01-22 9:24 ` [PATCH 17/38] x86: change range end to start+size Yinghai Lu
2010-01-22 9:24 ` [PATCH 18/38] x86: move bios page reserve early to head32/64.c Yinghai Lu
2010-01-22 9:24 ` [PATCH 19/38] x86: seperate early_res related code from e820.c Yinghai Lu
2010-01-22 9:24 ` [PATCH 20/38] x86: add find_early_area_size Yinghai Lu
2010-01-22 9:24 ` [PATCH 21/38] x86: move back find_e820_area to e820.c Yinghai Lu
2010-01-22 9:24 ` [PATCH 22/38] early_res: enhance check_and_double_early_res Yinghai Lu
2010-01-22 9:24 ` [PATCH 23/38] x86: make 32bit support NO_BOOTMEM Yinghai Lu
2010-01-22 9:24 ` [PATCH 24/38] move round_up/down to kernel.h Yinghai Lu
2010-01-22 14:52 ` Christoph Lameter
2010-01-22 19:28 ` Joe Perches
2010-01-22 20:08 ` H. Peter Anvin [this message]
2010-01-22 9:24 ` [PATCH 25/38] x86: add find_fw_memmap_area Yinghai Lu
2010-01-22 9:24 ` [PATCH 26/38] core: move early_res Yinghai Lu
2010-01-22 9:24 ` [PATCH 27/38] x86: print out for RAM buffer Yinghai Lu
2010-01-22 9:24 ` [PATCH 28/38] x86: remove bios data range from e820 Yinghai Lu
2010-01-22 9:24 ` [PATCH 29/38] x86/pci: add mmconf range into e820 for when it is from MSR with amd faml0h Yinghai Lu
2010-01-22 9:24 ` [PATCH 30/38] irq: remove not need bootmem code Yinghai Lu
2010-01-22 9:24 ` [PATCH 31/38] radix: move radix init early Yinghai Lu
2010-01-22 9:24 ` [PATCH 32/38] sparseirq: change irq_desc_ptrs to static Yinghai Lu
2010-01-22 9:24 ` [PATCH 33/38] sparseirq: use radix_tree instead of ptrs array Yinghai Lu
2010-01-22 9:24 ` [PATCH 34/38] x86: remove arch_probe_nr_irqs Yinghai Lu
2010-01-22 9:24 ` [PATCH 35/38] use nr_cpus= to set nr_cpu_ids early Yinghai Lu
2010-01-22 9:24 ` [PATCH 36/38] x86: according to nr_cpu_ids to decide if need to leave logical flat Yinghai Lu
2010-01-22 9:24 ` [PATCH 37/38] x86: make 32bit apic flat to physflat switch like 64bit Yinghai Lu
2010-01-22 9:24 ` [PATCH 38/38] x86: use num_processors for possible cpus Yinghai Lu
2010-01-26 0:40 ` [PATCH -v5 0/38] x86: not use bootmem for x86 H. Peter Anvin
2010-01-26 2:14 ` Yinghai Lu
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=4B5A05A1.3040901@zytor.com \
--to=hpa@zytor.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=jbarnes@virtuousgeek.org \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=yinghai@kernel.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.