Gentoo Archives: gentoo-sparc

From: Jack Morgan <jmorgan@g.o>
To: gentoo-sparc@l.g.o
Subject: Re: [gentoo-sparc] Official SPARC64 Port
Date: Mon, 08 Aug 2016 22:52:07
Message-Id: 2d21669d-5598-f6b9-beda-2e1e9ef45e06@gentoo.org
In Reply to: Re: [gentoo-sparc] Official SPARC64 Port by Alex McWhirter
1 Alex,
2
3 On 03/10/16 19:53, Alex McWhirter wrote:
4 > On 02/19/2016 03:37 AM, Alex McWhirter wrote:
5 >> Git bisect if officially the coolest thing i've seen in a long time. I
6 >> wish i would have known about it earlier...
7 >>
8 >> Anyways...
9 >>
10 >> e5a4b0bb803b39a36478451eae53a880d2663d5b is the first bad commit
11 >> commit e5a4b0bb803b39a36478451eae53a880d2663d5b
12 >> Author: Al Viro <viro@×××××××××××××××.uk>
13 >> Date: Mon Nov 24 18:17:55 2014 -0500
14 >>
15 >> switch memcpy_to_msg() and skb_copy{,_and_csum}_datagram_msg() to
16 >> primitives
17 >>
18 >> ... making both non-draining. That means that tcp_recvmsg() becomes
19 >> non-draining. And _that_ would break iscsit_do_rx_data() unless we
20 >> a) make sure tcp_recvmsg() is uniformly non-draining (it is)
21 >> b) make sure it copes with arbitrary (including shifted)
22 >> iov_iter (it does, all it uses is iov_iter primitives)
23 >> c) make iscsit_do_rx_data() initialize ->msg_iter only once.
24 >>
25 >> Fortunately, (c) is doable with minimal work and we are rid of one
26 >> the two places where kernel send/recvmsg users would be unhappy with
27 >> non-draining behaviour.
28 >>
29 >> Actually, that makes all but one of ->recvmsg() instances
30 >> iov_iter-clean.
31 >> The exception is skcipher_recvmsg() and it also isn't hard to convert
32 >> to primitives (iov_iter_get_pages() is needed there). That'll wait
33 >> a bit - there's some interplay with ->sendmsg() path for that one.
34 >>
35 >> Signed-off-by: Al Viro <viro@×××××××××××××××.uk>
36 >>
37 >> :040000 040000 b4d6852e73bd3d54a30b72441c8e35f79dc07266
38 >> f0b90ef68ee891b38decf571247002c1d7fad519 M drivers
39 >> :040000 040000 8ba2fadf14c05a86a7c21448dac52fed661a2e12
40 >> 0051ec4b6f273dbaed2bed21e4fddd48664d5afa M include
41 >> :040000 040000 d28e72369891521f7d853b30612a32cf65a27f6b
42 >> b828e68082a6fed2cf240aad4b365c5808928122 M net
43 >>
44 >>
45 > Here's a snippet from the kernel list...
46 >
47 >> Ok, so bit more info. This only seems to effect local disk transfers,
48 > not server -> client transfers. I can verify this behaviour on Debian
49 > and Gentoo, as well as on a Sun Fire V215 and Sun Blade 150.
50 >> Steps to reproduce.
51 >>
52 >> rysnc -a rsync://rsync.ca.gentoo.org/gentoo-portage/ ~/portage
53 >> rsync -a ~/portage ~/portage2
54 >>
55 >> You should see something around these lines occur...
56 >>
57 >> rsync: [sender] write error: Broken pipe (32)
58 >> rsync error: error in socket IO (code 10) at io.c(820) [sender=3.1.1]
59 >>
60 >>
61 >> If you don't want to download the whole portage tree, you can probably
62 > get away with a large subdirectory like x11-libs.
63 >> I.E.
64 >>
65 >> rysnc -a rsync://rsync.ca.gentoo.org/gentoo-portage/x11-libs ~/x11-libs
66 >> rsync -a ~/x11-libs ~/x11-libs2
67 >>
68 >> As stated earlier, using git bisect to eventually roll back commit
69 > e5a4b0bb803b39a36478451eae53a880d2663d5b will resolve the problem.
70 >
71 > Mike, any ideas of what else i could do to try and pick this apart a bit
72 > more?
73 >
74 Any update on this issue? rsync is still broken on sparc.
75
76 --
77 Jack Morgan
78 Pub 4096R/761D8E0A 2010-09-13 Jack Morgan <jmorgan@g.o>
79 Fingerprint = DD42 EA48 D701 D520 C2CD 55BE BF53 C69B 761D 8E0A

Replies

Subject Author
Re: [gentoo-sparc] Official SPARC64 Port alexmcwhirter@×××××××.us