On Mon, Sep 07, 2020 at 03:44:08PM +0300, Maor Gottlieb wrote:
>>> +{
>>> +#ifdef CONFIG_ARCH_NO_SG_CHAIN
>>> +   if (append->left_pages)
>>> +           return ERR_PTR(-EOPNOTSUPP);
>>> +#endif
>> Which makes this API entirely useless for !CONFIG_ARCH_NO_SG_CHAIN,
>> doesn't it?  Wouldn't it make more sense to not provide it for that
>> case and add an explicitl dependency in the callers?
>
> Current implementation allow us to support small memory registration which 
> not require chaining. I am not aware which archs has the SG_CHAIN support 
> and I don't want to break it so I can't add it to as dependency to the 
> Kconfig. Another option is to do the logic in the caller, but it isn't 
> clean.

But does the caller handle the -EOPNOTSUPP properly?  I think right now
it will just fail the large registration that worked before this patchset.

Given that ARCH_NO_SG_CHAIN is only true for alpha, parisc and a few
arm subarchitectures I think just not supporting umem is probably
cleared.  And eventually we'll need to drop ARCH_NO_SG_CHAIN entirely.

Reply via email to