Hi,
I recently started to add basic networking tests to my qemu test environment.
When adding the necessary build options to Alpha kernels, I noticed that v4.4.y
and v4.9.y no longer build due to relocation errors such as
net/built-in.o: In function `__copy_tofrom_user_nocheck':
arch/alpha/include/asm/uaccess.h:364:(.text+0xff444):
relocation truncated to fit: BRSGP against symbol `__copy_user'
The following patches fix the problem.
v4.9.y:
5ed78e5523fd alpha: add $(src)/ rather than $(obj)/ to make source file path
e19a4e3f1bff alpha: merge build rules of division routines
3eec0291830e alpha: make short build log available for division routines
4758ce82e667 alpha: Package string routines together
8525023121de alpha: switch __copy_user() and __do_clean_user() to normal calling conventions
v4.4.y:
5ed78e5523fd alpha: add $(src)/ rather than $(obj)/ to make source file path
e19a4e3f1bff alpha: merge build rules of division routines
3eec0291830e alpha: make short build log available for division routines
4758ce82e667 alpha: Package string routines together
00fc0e0dda62 alpha: move exports to actual definitions
085354f90796 alpha: get rid of tail-zeroing in __copy_user()
8525023121de alpha: switch __copy_user() and __do_clean_user() to normal calling conventions
Only the last patch of each group is really needed; I pulled the other
patches in to avoid conflicts.
Please consider adding those patches to the respective kernels.
Thanks,
Guenter
Hello
I reproduced the issue on 5.11.7-rc1, could we port this patch to stable
branch.
Thanks
Yi
On 2/17/21 9:37 PM, Jason Gunthorpe wrote:
> On Fri, Feb 05, 2021 at 09:14:28AM +0100, Nicolas Morey-Chaisemartin wrote:
>> The current code computes a number of channels per SRP target and spreads
>> them equally across all online NUMA nodes.
>> Each channel is then assigned a CPU within this node.
>>
>> In the case of unbalanced, or even unpopulated nodes, some channels
>> do not get a CPU associated and thus do not get connected.
>> This causes the SRP connection to fail.
>>
>> This patch solves the issue by rewriting channel computation and allocation:
>> - Drop channel to node/CPU association as it had
>> no real effect on locality but added unnecessary complexity.
>> - Tweak the number of channels allocated to reduce CPU contention when possible:
>> - Up to one channel per CPU (instead of up to 4 by node)
>> - At least 4 channels per node, unless ch_count module parameter is used.
>>
>> Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
>> Reviewed-by: Bart Van Assche <bvanassche(a)acm.org>
>> ---
>> drivers/infiniband/ulp/srp/ib_srp.c | 110 ++++++++++++----------------
>> 1 file changed, 45 insertions(+), 65 deletions(-)
> Applied to for-next, thanks
>
> Jason
>