Messages in this thread | | | Date | Tue, 26 Feb 2013 00:53:28 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH v3 2/2] kexec: Use min_t to simplify logic |
| |
On Tue, 26 Feb 2013 16:49:02 +0800 Zhang Yanfei <zhangyanfei@cn.fujitsu.com> wrote:
> >> diff --git a/kernel/kexec.c b/kernel/kexec.c > > [] > >> @@ -822,13 +822,9 @@ static int kimage_load_normal_segment(struct kimage *image, > > [] > >> + mchunk = min_t(size_t, mbytes, > >> + (size_t)(PAGE_SIZE - (maddr & ~PAGE_MASK))); > > > > #define min_t(type, x, y) ({ \ > > type __min1 = (x); \ > > type __min2 = (y); \ > > __min1 < __min2 ? __min1: __min2; }) > > > > > > > > Hmm, from the definition, the cast is redundant. > > Maybe I misunderstood what Andrew meant in the mail related to v2: > > "The types of PAGE_SIZE and PAGE_MASK are vague - iirc they once had > different types on different architectures, so some form of casting is > unavoidable here." > > Andrew, could you please explain the casting you meant above?
I mean that a cast (or min_t, which is a cast) will be needed. The code you have here casts the same thing two times, which isn't necessary.
| |