RE: [RFC PATCH 2/2] hv_netvsc: back GPADL buffers with kmalloc + decrypt + vmap

"Kameron Carr" <[email protected]> Fri, 31 Jul 2026 12:06:18 -0700
Newsgroups org.kernel.vger.linux-hyperv,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <[email protected]>
On Friday, July 24, 2026 12:37 PM, Michael Kelley wrote:
> From: Kameron Carr <[email protected]> Sent: Tuesday, July
21, 2026 12:57 PM
[...]
> > +	/*
> > +	 * @order monotonically decreases across iterations
> > +	 *
> > +	 * Use __GFP_NORETRY | __GFP_NOWARN to avoid OOM-killing, but try
> > +	 * harder at order 0 since that is the final fallback.
> > +	 */
> > +	order = min_t(unsigned int, MAX_PAGE_ORDER, ilog2(nr_pages));
> 
> Prefer using min() instead of min_t(). For normal integer values,
> min() should work correctly.

Using min() compiled fine on ARM, but x86 is throwing a compile error.

    drivers/hv/channel.c: In function 'vmbus_alloc_buffer':
    ././include/linux/compiler_types.h:699:45: error: call to
    '__compiletime_assert_518' declared with attribute error: min(order, (
    __builtin_constant_p(remaining) ? ((remaining) < 2 ? 0 : 63 -
    __builtin_clzll(remaining)) : (sizeof(remaining) <= 4) ?
    __ilog2_u32(remaining) : __ilog2_u64(remaining) )) signedness error

In my v3 I may go back to using min_t. Please let me know if a cast (or
some other method) is preferred.

-Kameron