Re: Kernel page fault in current
You were right, after updating and recompiling kernel nor more page fault. Besides now I can move the windows smoothly (before they put like lines while moving). I also think in general faster X (I wonder how to measure). On Tue, Oct 22, 2013 at 10:53:36AM -0700, Philip Guenther wrote: On Tue, Oct 22, 2013 at 5:21 AM, Vladimir Támara Patiño vtam...@pasosdejesus.org wrote: Hi, I'm having problems with current, I'm using Xorg after some time there is a kernel trap (3 times I have seen the same one): Current is a moving target, so saying current without a timestamp or at least date isn't precise. Indeed, there have been four commits to the file holding wsdisplaypoll() since the Oct 18th. So, refresh, rebuild, and see whether the most recent commits affect it. If it still happens, post a new trace, the date of your refresh, AND THE DMESG THAT YOU LEFT OUT BEFORE. Philip Guenther -- Dios, gracias por tu amor infinito. -- Vladimir Támara Patiño. http://vtamara.pasosdeJesus.org/ http://www.pasosdejesus.org/dominio_publico_colombia.html
Re: in[6]_proto_cksum_out: ICMP checksum fix
On Fri, Oct 18, 2013 at 03:27:09PM -0400, Lawrence Teo wrote: Back in August I sent a diff to fix ICMP checksum calculation in in_proto_cksum_out() and in_delayed_cksum() in cases where the ICMP checksum field is not in the first mbuf of an mbuf chain (original post at http://marc.info/?l=openbsd-techm=137571298511653w=2 ). Thanks to henning's and bluhm's work on checksums at b2k13, the diff to fix this is now much more straightforward than my earlier versions. ICMPv6 is no longer affected by the bug, so this diff is for v4 only. OK? Index: ip_output.c === RCS file: /cvs/src/sys/netinet/ip_output.c,v retrieving revision 1.249 diff -u -p -U9 -r1.249 ip_output.c --- ip_output.c 20 Oct 2013 13:44:23 - 1.249 +++ ip_output.c 24 Oct 2013 16:29:38 - @@ -2064,18 +2064,22 @@ in_delayed_cksum(struct mbuf *m) switch (ip-ip_p) { case IPPROTO_TCP: offset += offsetof(struct tcphdr, th_sum); break; case IPPROTO_UDP: offset += offsetof(struct udphdr, uh_sum); break; + case IPPROTO_ICMP: + offset += offsetof(struct icmp, icmp_cksum); + break; + default: return; } if ((offset + sizeof(u_int16_t)) m-m_len) m_copyback(m, offset, sizeof(csum), csum, M_NOWAIT); else *(u_int16_t *)(mtod(m, caddr_t) + offset) = csum; } @@ -2109,20 +2113,13 @@ in_proto_cksum_out(struct mbuf *m, struc m-m_pkthdr.csum_flags = ~M_TCP_CSUM_OUT; /* Clear */ } } else if (m-m_pkthdr.csum_flags M_UDP_CSUM_OUT) { if (!ifp || !(ifp-if_capabilities IFCAP_CSUM_UDPv4) || ifp-if_bridgeport != NULL) { in_delayed_cksum(m); m-m_pkthdr.csum_flags = ~M_UDP_CSUM_OUT; /* Clear */ } } else if (m-m_pkthdr.csum_flags M_ICMP_CSUM_OUT) { - struct ip *ip = mtod(m, struct ip *); - int hlen; - struct icmp *icp; - - hlen = ip-ip_hl 2; - icp = (struct icmp *)(mtod(m, caddr_t) + hlen); - icp-icmp_cksum = in4_cksum(m, 0, hlen, - ntohs(ip-ip_len) - hlen); + in_delayed_cksum(m); m-m_pkthdr.csum_flags = ~M_ICMP_CSUM_OUT; /* Clear */ } }
Re: Stairstep mouse motion
On Wed, Oct 16, 2013 at 11:45:34PM +0100, Edd Barrett wrote: Tested on my x230t and will continue to test. No regrssions noticed on relative pointing devices. OK? Anyone? I appreciate that I am probably the only one using OpenBSD on a tablet, but a looks OK and no regressions for relative pointing devices would be great. Keen to get this in so that I don't have to rebuild the ws driver every time I update my snapshot. -- Best Regards Edd Barrett http://www.theunixzoo.co.uk
mbuf(9) man page: document ICMP checksum flags
Now that the M_ICMP_CSUM_* flags are actually used in the kernel by PF (specifically pf_check_proto_cksum() and pf_cksum()), document them in the mbuf(9) man page. OK? Index: mbuf.9 === RCS file: /cvs/src/share/man/man9/mbuf.9,v retrieving revision 1.65 diff -u -p -r1.65 mbuf.9 --- mbuf.9 21 Aug 2013 05:21:42 - 1.65 +++ mbuf.9 24 Oct 2013 16:51:21 - @@ -313,6 +313,8 @@ IPv4 checksum needed. TCP checksum needed. .It Dv M_UDP_CSUM_OUT UDP checksum needed. +.It Dv M_ICMP_CSUM_OUT +ICMP/ICMPv6 checksum needed. .It Dv M_IPV4_CSUM_IN_OK IPv4 checksum verified. .It Dv M_IPV4_CSUM_IN_BAD @@ -325,6 +327,10 @@ TCP checksum bad. UDP checksum verified. .It Dv M_UDP_CSUM_IN_BAD UDP checksum bad. +.It Dv M_ICMP_CSUM_IN_OK +ICMP/ICMPv6 checksum verified. +.It Dv M_ICMP_CSUM_IN_BAD +ICMP/ICMPv6 checksum bad. .El .Pp When only M_EXT flag is set, an external storage buffer is being used to
Re: Stairstep mouse motion
Tested on my x230t and will continue to test. No regrssions noticed on relative pointing devices. OK? Anyone? I appreciate that I am probably the only one using OpenBSD on a tablet, but a looks OK and no regressions for relative pointing devices would be great. What happens when priv-swap_axes is set, and the ax ay branch is taken along with the wsWheelEmuFilterMotion() branch. Following continue another event is processed and now the axes are swapped again (ax and ay were not reset after use) and then what? Not very likely I know. In hindsight it's possible that wheel emulation has been broken in the previous revision; a glance at wsWheelEmuFilterMotion suggests it doesn't like to handle both x and y axes at once, and will only do the former (resetting the latter) if both are set. I've never used this thing though, and I didn't dive deeper. Other than that I guess your diff is about as reasonable as one can be with this hairy code. I was waiting and hoping someone else with an absolute pointing device could've checked and tested it because I really didn't enjoy working on this file when I did my patch :-)