Re: [PATCH] RDMA/mlx5: Use DIV_ROUND_UP_ULL macro to allow 32 bit to build

From: Steven Rostedt
Date: Wed May 22 2019 - 15:45:56 EST


On Wed, 22 May 2019 16:28:21 -0300
Jason Gunthorpe <jgg@xxxxxxxx> wrote:

> On Wed, May 22, 2019 at 02:54:50PM -0400, Steven Rostedt wrote:
> >
> > From: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> >
> > When testing 32 bit x86, my build failed with:
> >
> > ERROR: "__udivdi3" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined!
> >
> > It appears that a few non-ULL roundup() calls were made, which uses a
> > normal division against a 64 bit number. This is fine for x86_64, but
> > on 32 bit x86, it causes the compiler to look for a helper function
> > __udivdi3, which we do not have in the kernel, and thus fails to build.
> >
> > Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> > ---
>
> Do you like this version better?
>
> https://patchwork.kernel.org/patch/10950913/
>

Honestly, I don't care ;-)

As long as it is correct and doesn't break my builds. I really prefer
if these kinds of things don't make it into Linus's tree to begin with.
I'm surprised the zero-day bot didn't catch this. Because this is
something that it normally does.

-- Steve