From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 02:45:26 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 48FCA741 for ; Sun, 15 Mar 2015 02:45:26 +0000 (UTC) Received: from mail-qc0-x235.google.com (mail-qc0-x235.google.com [IPv6:2607:f8b0:400d:c01::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 006C4CA0 for ; Sun, 15 Mar 2015 02:45:26 +0000 (UTC) Received: by qcaz10 with SMTP id z10so18696919qca.1 for ; Sat, 14 Mar 2015 19:45:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=UERT2OTXE1cMxvMQG7wENZHa98UAvWN3ZrC2W5PasFc=; b=irnQ5WMT8OxrmZepmqKCzNPJF/+YowNLCW7ywOtaksV/RMEw+PFfEzVvZMIPO7L721 Jk0rfcXCGray8MNaiFdwVfBUuydgAekR+BX5FS0PEQPMzPNUvOzAF1wDijZij7EklC/D B19Xq1Hyc23V/Hv+BaSB957IMm1xLOMrz9CfheuuHzaGh2u1kxPG3ybSY9wZi1ttsBSv 8jSjBfor7legpxfvvvFDdUSgawOVK9TeaC+7Hr2yPQ0V9s1iqEOxGGKdBGiNXTQu78/J VWeRt9WULTB4WHFbbm+x3m9uuO+fSIOh1hPb6g2kyfhIABZScFE4KTw/Ko5M+MZLC9bh OrSg== MIME-Version: 1.0 X-Received: by 10.141.28.78 with SMTP id f75mr71221647qhe.18.1426387525165; Sat, 14 Mar 2015 19:45:25 -0700 (PDT) Received: by 10.229.24.73 with HTTP; Sat, 14 Mar 2015 19:45:25 -0700 (PDT) Date: Sat, 14 Mar 2015 19:45:25 -0700 Message-ID: Subject: ngets() consuming 100% CPU From: Ivan Krivonos To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 02:45:26 -0000 Hi All, I`ve noted that ngets() from libstand starts consuming CPU like mad when EOF appears on stdin. Not sure if this actually is a bug, but issue appears from time to time with bhyveload. Here is simpliest program allowing reproduce cat > ./bget.c #include #include #include #include int main() { char str[512]; for (;;) { ngets(str, sizeof(str)); if (str[0] == '\n') break; } return 0; } $ echo "balbalbalabl" | ./bget & $ You will see bget consuming CPU in ngets() reading EOF. The patch below fixes the problem diff --git a/lib/libstand/gets.c b/lib/libstand/gets.c index 7d54b00..806091a 100644 --- a/lib/libstand/gets.c +++ b/lib/libstand/gets.c @@ -44,8 +44,12 @@ ngets(char *buf, int n) int c; char *lp; - for (lp = buf;;) - switch (c = getchar() & 0177) { + for (lp = buf;;) { + c = getchar(); + if (c == EOF) + break; + + switch (c & 0177) { case '\n': case '\r': *lp = '\0'; @@ -79,6 +83,7 @@ ngets(char *buf, int n) putchar(c); } } + } /*NOTREACHED*/ } From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 05:18:48 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D65ECFB6 for ; Sun, 15 Mar 2015 05:18:48 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::7]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 638F6D25 for ; Sun, 15 Mar 2015 05:18:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426396697; l=127; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=tmW01issA8He9+j89cfSVUGwzzVqbPgKlPj2td+RW3E=; b=XfZNnjlWtLCkGa+hhg1VFPtuVN4tnL+XRrUuHGP02VVNUvC0RirMdPp8DjCu/sMtY0g 9/T/9Ly8yCKnL6ZdMEqagwPOYCi1/GTI61Ez/xA6BuiDUmHGfzMUqKWoWYAU6uJbr5Drp QL6hKJxS1lBr3jqufI1oLLgRhpGFOheZWxY= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgknstV9BEzWRmW1WTo4lh37L0qA5ZCpMuuc24Imq/xKxfavg+gU7ZA== X-RZG-CLASS-ID: mo00 Received: from [IPv6:2a02:2028:518:5801:841c:323d:c8f5:1e6c] (some-ipv6-address.wtnet.de [IPv6:2a02:2028:518:5801:841c:323d:c8f5:1e6c]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPSA id Y03f23r2F5I1KQ4 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate); Sun, 15 Mar 2015 06:18:01 +0100 (CET) Message-ID: <5505160A.1020703@fuckner.net> Date: Sun, 15 Mar 2015 06:18:02 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <275339388.395931.1426279324879.JavaMail.open-xchange@ptangptang.store> <5503DC66.40409@fuckner.net> <55041EF5.9080200@multiplay.co.uk> <5504362C.9000904@fuckner.net> <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> In-Reply-To: <20150314153941.GL2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Ryan Stone , Steven Hartland , "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 05:18:48 -0000 >> I'll checkout STABLE to check now... > Thank you. http://dedi3.fuckner.net/~molli123/temp/dmar.log testing now... From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 07:47:11 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7848F970 for ; Sun, 15 Mar 2015 07:47:11 +0000 (UTC) Received: from mail-oi0-x232.google.com (mail-oi0-x232.google.com [IPv6:2607:f8b0:4003:c06::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3CABFB95 for ; Sun, 15 Mar 2015 07:47:11 +0000 (UTC) Received: by oiag65 with SMTP id g65so15809943oia.2 for ; Sun, 15 Mar 2015 00:47:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=YwwEPYMOo26LiXPm6zWQQgHfXKGj9VwE3QNUNieXPN8=; b=jISFTJeFYD9su5bvVDPsEwsdGprsYpLt8YD2cpzx6yAxyqH2KLmebHBYEjvBXTqrQt DNBVVu69nckugEuY7oXFWCfuLdId5ocA3xdMGLVaMEpv/pB+5LhI+pNzifYV2Vm46Vn6 UTgRY84sMO7KIfFzV3lKd7zuwSfwAxSXL3i5G29pR/dxWz74DPjt7s2+XRmZPrJQm2FA g7BJNdPANwRpgz+HRCuTuf/YsQVBgni556agb49PiAvM7Yw+H6xrhL0LylPp3tHtY0zs 7xr4IPVYHBPJD+6qXT3uV0UJYWVXcrZmAWk3tQIeeOUi07HXHkWFjPaendmy+nxlj/CX aOvg== MIME-Version: 1.0 X-Received: by 10.182.40.195 with SMTP id z3mr43675501obk.38.1426405630679; Sun, 15 Mar 2015 00:47:10 -0700 (PDT) Received: by 10.76.29.102 with HTTP; Sun, 15 Mar 2015 00:47:10 -0700 (PDT) Date: Sun, 15 Mar 2015 13:17:10 +0530 Message-ID: Subject: GSOC 2015 - Idea: Overhaul the config system From: Subhashish Pradhan To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 07:47:11 -0000 Hello, I'm Subhashish Pradhan, a 3rd year CS undergrad from India. I am interested in the following idea: "Overhaul the config system". I see that this project requires C, some scripting (I guess Makefiles), and some kernel skills. I believe I have these skills thanks to my GSOC project with GNU/Hurd last year and from writing basic kernel modules for the Eudyptula Challenge. Since this task is limited to base-system, what could be some basic work that can be done to demonstrate proficiency while working on base-system, related to this project? I guess, I need to understand the specifics of rebuilding a kernel, don't I? (then I'll try to rebuild and study makefiles and dependencies) Any helpful directions/commments will be appreciated. Cheers, Subhashish nick: sprkv5 From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 13:01:29 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 506DABBE for ; Sun, 15 Mar 2015 13:01:29 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::7]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D1C2DE49 for ; Sun, 15 Mar 2015 13:01:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426424460; l=2819; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=bfstqk2ma3wSlArCz/7Vibttj4v60fAoWBuXmF7Sb4Y=; b=j7bp0vTMd0Hk40Hu/ZjsJV6MlzTWo4uSQjWejUvKrNKHdY+kAHdeabGFIyIcjhsGlIv EMXilRTJFQGO33+Hzqv7ETSuqERWss6LiLfLz2qNgbU3i0r/ESuVUHI3fsQBKT/ZUbmTy aHBqQgPz7520bMLMyD17mg/HaRNlVJ0E5vE= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgknstV9BEzWRmW1WTo4lh37L0qA0YHpcsTWo+J1KyhQZDeGkOSzpQA== X-RZG-CLASS-ID: mo00 Received: from [IPv6:2a02:2028:518:5801:50a6:91e8:5715:3d5b] (some-ipv6-address.wtnet.de [IPv6:2a02:2028:518:5801:50a6:91e8:5715:3d5b]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPSA id g01611r2FD0iMCm (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate); Sun, 15 Mar 2015 14:00:44 +0100 (CET) Message-ID: <5505827D.6060404@fuckner.net> Date: Sun, 15 Mar 2015 14:00:45 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <275339388.395931.1426279324879.JavaMail.open-xchange@ptangptang.store> <5503DC66.40409@fuckner.net> <55041EF5.9080200@multiplay.co.uk> <5504362C.9000904@fuckner.net> <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> In-Reply-To: <5505160A.1020703@fuckner.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Steven Hartland , Ryan Stone , "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 13:01:29 -0000 On 3/15/2015 6:18 AM, Michael Fuckner wrote: > >>> I'll checkout STABLE to check now... >> Thank you. > > http://dedi3.fuckner.net/~molli123/temp/dmar.log > > testing now... portsnap fetch crashes at 2% of 72MB- not very stable :( [2015-03-15 13:58:01] Fatal trap 12: page fault while in kernel mode [2015-03-15 13:58:01] cpuid = 4; apic id = 08 [2015-03-15 13:58:01] fault virtual address = 0x51 [2015-03-15 13:58:01] fault code = supervisor read data, page not present [2015-03-15 13:58:01] instruction pointer = 0x20:0xffffffff80e305a3 [2015-03-15 13:58:01] stack pointer = 0x28:0xffffff3bab74dd30 [2015-03-15 13:58:01] frame pointer = 0x28:0xffffff3bab74ddb0 [2015-03-15 13:58:01] code segment = base 0x0, limit 0xfffff, type 0x1b [2015-03-15 13:58:01] = DPL 0, pres 1, long 1, def32 0, gran 1 [2015-03-15 13:58:01] processor eflags = interrupt enabled, resume, IOPL = 0 [2015-03-15 13:58:02] current process = 12 (irq276: ix0:que 4) [2015-03-15 13:58:02] trap number = 12 [2015-03-15 13:58:02] panic: page fault [2015-03-15 13:58:02] cpuid = 4 [2015-03-15 13:58:02] KDB: stack backtrace: [2015-03-15 13:58:02] #0 0xffffffff8096d670 at kdb_backtrace+0x60 [2015-03-15 13:58:02] #1 0xffffffff80931585 at panic+0x155 [2015-03-15 13:58:02] #2 0xffffffff80d3030f at trap_fatal+0x38f [2015-03-15 13:58:02] #3 0xffffffff80d3060d at trap_pfault+0x2ed [2015-03-15 13:58:02] #4 0xffffffff80d2fc8a at trap+0x47a [2015-03-15 13:58:02] #5 0xffffffff80d16082 at calltrap+0x8 [2015-03-15 13:58:02] #6 0xffffffff80968982 at bus_dmamap_load_mbuf_sg+0x72 [2015-03-15 13:58:02] #7 0xffffffff80589318 at ixgbe_xmit+0xb8 [2015-03-15 13:58:02] #8 0xffffffff8058914c at ixgbe_mq_start_locked+0x7c [2015-03-15 13:58:02] #9 0xffffffff80588dc8 at ixgbe_mq_start+0xf8 [2015-03-15 13:58:02] #10 0xffffffff809f61fd at ether_output+0x58d [2015-03-15 13:58:02] #11 0xffffffff80a63514 at ip_output+0x11b4 [2015-03-15 13:58:02] #12 0xffffffff80ad429c at tcp_output+0x1e0c [2015-03-15 13:58:02] #13 0xffffffff80ad1036 at tcp_do_segment+0x3046 [2015-03-15 13:58:02] #14 0xffffffff80acd3a4 at tcp_input+0xd04 [2015-03-15 13:58:02] #15 0xffffffff80a5f4b7 at ip_input+0x97 [2015-03-15 13:58:02] #16 0xffffffff809feec2 at netisr_dispatch_src+0x62 [2015-03-15 13:58:03] #17 0xffffffff809f6396 at ether_demux+0x126 [2015-03-15 13:58:03] Uptime: 3h37m44s [2015-03-15 13:58:04] [2015-03-15 13:58:04] Dump failed. Partition too small. [2015-03-15 13:58:04] mpr0: Sending StopUnit: path (xpt0:mpr0:0:0:0): handle 9 [2015-03-15 13:58:04] mpr0: Incrementing SSU count > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 14:34:01 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D4D295A3 for ; Sun, 15 Mar 2015 14:34:01 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::2]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5F557983 for ; Sun, 15 Mar 2015 14:34:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426430012; l=451; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=K+4gnluexAqkgGomON/YzhsqfkiCM0eM+ZJo4vDxz/o=; b=igXfTIArx3Unp/95upKsNcUBGOtxT9yuz7FK6BbBe4+SaaWKOf4c/Fgw1lH2zRh+b7w wP2wYId31LfcMKX8ttyTCgINOIptDE51mQHwbXVTqQGnFG9NWW7rayDy5bcgRe4C98wz/ smhzIUALUjB0hPLbxE2OGHiNUwsRH9NdwiM= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgknstV9BEzWRmW1WTo4lh37L0qA0YHpcsTWo+J1KyhQZDeGkOSzpQA== X-RZG-CLASS-ID: mo00 Received: from [IPv6:2a02:2028:518:5801:50a6:91e8:5715:3d5b] (some-ipv6-address.wtnet.de [IPv6:2a02:2028:518:5801:50a6:91e8:5715:3d5b]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPSA id K03025r2FEXHOOl (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate); Sun, 15 Mar 2015 15:33:17 +0100 (CET) Message-ID: <5505982E.9060201@fuckner.net> Date: Sun, 15 Mar 2015 15:33:18 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <275339388.395931.1426279324879.JavaMail.open-xchange@ptangptang.store> <5503DC66.40409@fuckner.net> <55041EF5.9080200@multiplay.co.uk> <5504362C.9000904@fuckner.net> <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> In-Reply-To: <5505827D.6060404@fuckner.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Ryan Stone , Steven Hartland , "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 14:34:01 -0000 On 3/15/2015 2:00 PM, Michael Fuckner wrote: > On 3/15/2015 6:18 AM, Michael Fuckner wrote: >> >>>> I'll checkout STABLE to check now... >>> Thank you. >> >> http://dedi3.fuckner.net/~molli123/temp/dmar.log >> >> testing now... > > portsnap fetch crashes at 2% of 72MB- not very stable :( > so with dmar it runs unstable and without dmar I get no mpr1 and possibly no USB? http://dedi3.fuckner.net/~molli123/temp/stable-no-dmar.txt From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 19:32:09 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A909F499 for ; Sun, 15 Mar 2015 19:32:09 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16B129BF for ; Sun, 15 Mar 2015 19:32:08 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2FJW3uf054353 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 15 Mar 2015 21:32:03 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2FJW3uf054353 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2FJW31G054352; Sun, 15 Mar 2015 21:32:03 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 15 Mar 2015 21:32:03 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150315193202.GS2379@kib.kiev.ua> References: <55041EF5.9080200@multiplay.co.uk> <5504362C.9000904@fuckner.net> <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5505982E.9060201@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: Ryan Stone , Steven Hartland , "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 19:32:09 -0000 On Sun, Mar 15, 2015 at 03:33:18PM +0100, Michael Fuckner wrote: > On 3/15/2015 2:00 PM, Michael Fuckner wrote: > > On 3/15/2015 6:18 AM, Michael Fuckner wrote: > >> > >>>> I'll checkout STABLE to check now... > >>> Thank you. > >> > >> http://dedi3.fuckner.net/~molli123/temp/dmar.log > >> > >> testing now... > > > > portsnap fetch crashes at 2% of 72MB- not very stable :( > > > > so with dmar it runs unstable and without dmar I get no mpr1 and > possibly no USB? > > http://dedi3.fuckner.net/~molli123/temp/stable-no-dmar.txt Send me two things: 1. output of acpidump -t 2. verbose dmesg of the boot with tunables set hw.dmar.enable=1 hw.dmar.match_verbose=1 In the ideal world, this is best done with the HEAD kernel (you do not need to reinstall the system to HEAD, just make kernel-toolchain buildkernel on the HEAD src checkout, and install the kernel alongside with your stable/10). From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 21:03:20 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2E904FA7; Sun, 15 Mar 2015 21:03:20 +0000 (UTC) Received: from mail-ie0-x236.google.com (mail-ie0-x236.google.com [IPv6:2607:f8b0:4001:c03::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E7E976AB; Sun, 15 Mar 2015 21:03:19 +0000 (UTC) Received: by iecvj10 with SMTP id vj10so152163628iec.0; Sun, 15 Mar 2015 14:03:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=iPGBKo1/hXA5x9RJWunvZWt1HiYX/gTWd6JF0o1daMo=; b=w5D11HZ1A9iqb+0gTwn2URaWA6O/RWqeMlobgA3IK5OMq1UDOKKFa5+fYhU47DMArD cTc6Mp+TtPunqniPVivP3mE0G0eRnWwLQp1oJ04qDkil3k90srSzN1Jw+xzbOoEJKVzX OU3AwirCuER88HCN9c3MK4ez0ZrTpBR9WV0Nd7punSMTljm69StN/eZ1xyWMei5E+ByQ Hd7+tImp59qKlMzKk0g0CMqAzdLj8Gnbkh+1vJM1XwDT13+YGiZwTp5to6Udqsjof2FN /c2DYb+ObrKk0SFWRhZBigA+sS7n0cWeIPvDLUEvH81fL37apPzFvQHJ65j8sHptG8Sz b7+w== X-Received: by 10.50.129.9 with SMTP id ns9mr101733243igb.24.1426453399253; Sun, 15 Mar 2015 14:03:19 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.158.19 with HTTP; Sun, 15 Mar 2015 14:02:58 -0700 (PDT) In-Reply-To: <20150309153622.GB72806@spindle.one-eyed-alien.net> References: <54F9EFD7.7030803@mymail.vcu.edu> <20150309153622.GB72806@spindle.one-eyed-alien.net> From: Ed Maste Date: Sun, 15 Mar 2015 17:02:58 -0400 X-Google-Sender-Auth: 4GEPfQeE6j0ltmNaGMhizoP-2lw Message-ID: Subject: Re: GSoC idea - porting and patching of userland for lld, the LLVM linker To: Brooks Davis Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-hackers@freebsd.org" , Jonathon McDaniels X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 21:03:20 -0000 On 9 March 2015 at 11:36, Brooks Davis wrote: > On Fri, Mar 06, 2015 at 01:20:07PM -0500, Jonathon McDaniels wrote: >> Hey guys, >> >> After giving it some thought, I was thinking of porting ( as in, make it >> a port of ) and patching the userland so a make buildworld can go >> through on x86/AMD64 on lld, the LLVM linker, and if time permits, >> patching the kernel to make use of it.. As the binutils included in base >> is over 7 years old, and is unlikely to be updated due to the GPLv3, it >> would make sense to assist with removing dependence of the FreeBSD >> platforms now using LLVM/Clang for compiling. >> >> Before I go contact the mentors that would be within the scope of this >> project, I wanted to make sure of the following: >> >> * That this would be a good use of GSoC >> * That it is narrow enough in scope to be feasible, but broad enough >> that it would prove a beneficial project. >> >> Considering the environment we have now, I think it would allow me to >> further my knowledge of C beyond what I already know ( currently working >> on learning about dynamic linking of libraries, and I already know about >> data structures, stacks, pointers etc. and plan to be much farther along >> by the time of the start of the project and deliverables. ). >> >> And since lld is compatible with the BSD license terms, and is >> interoperable with LLVM, it seems a viable and good project to undertake. >> >> Thoughts from you guys? > > Not to be too discouraging, I want lld in the base soon, but I'm not > convinced there's a good GSoC project here. Creating a port of lld is > probably a week's work even starting with no knowledge of the ports > system. There may be some FreeBSD specific changes to lld required, > but they should be small. > > Resolving compatibility issues with FreeBSD and ports might be a good > project, but being able to work on that depends on the completion of > linker script support. I think that's an unacceptably large external > dependency for a GSoC project given that there's no public timeline for > that work. There's certainly enough to be done with lld on FreeBSD to find a good GSoC project. But I agree that we'd have to be very careful with scoping and pay particular attention to the external dependencies. Jonathon, if you're still really interested in trying to move ahead with an lld GSoC, I'd suggest getting a build environment set up, explore lld's current limitations, and try your hand at a small change (maybe there's some relocation type to be added, for example). I think this would help give you a sense of the scale of various projects here. I know that might seem like lot to ask prior to a proposal submission, but we'd need to plan very carefully to go ahead with an lld project as other parts are still changing so rapidly. -Ed From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 21:46:29 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A1A15F4 for ; Sun, 15 Mar 2015 21:46:29 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::4]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8801BC0B for ; Sun, 15 Mar 2015 21:46:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426455964; l=1436; s=domk; d=fuckner.net; h=Content-Type:MIME-Version:Subject:References:In-Reply-To:Cc:To: Reply-To:From:Date; bh=gyA96G0MFKr6C8GxyG/ZfWNtJPD9byzWd1gZ2noDHnE=; b=ScKk22zzvP83bSa1wAvR8HbqwHEJOco+V8OhS6DkJylW1qLagMuiBD5cgOpfmWUP0sY ZCIJMO+V9r48oM6I1fWkyHAMIvIGNG/+WjwCrv0ZCfXQelAoC2B0uS2qbF4pQBdfPuWmh UfcnW0G76Q18YmFwcaKsH0F9OhnCgmz5kPs= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTEGbkn8hussqFHiy/c+oYVPeezIVIZYA== X-RZG-CLASS-ID: mo00 Received: from ptangptang.store (com4.strato.de [81.169.145.237]) by smtp-ox.front (RZmta 37.4 AUTH) with ESMTPSA id i0396fr2FLk4Owm (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate); Sun, 15 Mar 2015 22:46:04 +0100 (CET) Date: Sun, 15 Mar 2015 22:46:03 +0100 (CET) From: Michael Fuckner Reply-To: Michael Fuckner To: Konstantin Belousov Message-ID: <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> In-Reply-To: <20150315193202.GS2379@kib.kiev.ua> References: <55041EF5.9080200@multiplay.co.uk> <5504362C.9000904@fuckner.net> <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> Subject: Re: Server with 3TB Crashing at boot MIME-Version: 1.0 X-Priority: 3 Importance: Medium X-Mailer: Open-Xchange Mailer v7.6.0-Rev36 X-Originating-Client: com.openexchange.ox.gui.dhtml Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 21:46:29 -0000 > Send me two things: > 1. output of acpidump -t > 2. verbose dmesg of the boot with tunables set > hw.dmar.enable=1 > hw.dmar.match_verbose=1 > http://dedi3.fuckner.net/~molli123/temp/head-dmar.log http://dedi3.fuckner.net/~molli123/temp/acpidump.txt here are the logs you requested, Michael! From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 07:17:24 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B73E4D4; Mon, 16 Mar 2015 07:17:24 +0000 (UTC) Received: from mail.turbocat.net (heidi.turbocat.net [88.198.202.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5AAD5E14; Mon, 16 Mar 2015 07:17:23 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id B47831FE023; Mon, 16 Mar 2015 08:17:20 +0100 (CET) Message-ID: <550683AF.1010007@selasky.org> Date: Mon, 16 Mar 2015 08:18:07 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Gokul Krishna , freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org Subject: Re: GSoC 2015: USB-Front end driver References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> In-Reply-To: <54FB132E.9070901@selasky.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 07:17:24 -0000 Hi Gokul, Ping: Can you respond to this e-mail or are you one of those spam bots? --HPS From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 09:18:05 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D983776F for ; Mon, 16 Mar 2015 09:18:05 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4396BCEE for ; Mon, 16 Mar 2015 09:18:05 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2G9Hw29044162 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Mar 2015 11:17:58 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2G9Hw29044162 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2G9HwZx044161; Mon, 16 Mar 2015 11:17:58 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 16 Mar 2015 11:17:58 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150316091758.GY2379@kib.kiev.ua> References: <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 09:18:05 -0000 On Sun, Mar 15, 2015 at 10:46:03PM +0100, Michael Fuckner wrote: > > > Send me two things: > > 1. output of acpidump -t > > 2. verbose dmesg of the boot with tunables set > > hw.dmar.enable=1 > > hw.dmar.match_verbose=1 > > > > http://dedi3.fuckner.net/~molli123/temp/head-dmar.log > http://dedi3.fuckner.net/~molli123/temp/acpidump.txt > > here are the logs you requested, Note that there are no fault logs from the DMAR blocking invalid DMA access. Look at the release 10.1 logs, where there are lines like DMAR0: :pci1:0:0 fault acc 0 adt 0x0 reason 0x5 addr 0 and which I cannot find in your CURRENT kernel dmesg. I would say that the machine is fine, at least WRT the boot sequence. Then, I looked back at the previous logs from you, and both logs I have say 10.1-RELEASE-p6 in the herald. You overwrite the logs, so I cannot recheck the history, but it seems that you did not tested stable/10 ? There is currently no difference in DMAR code between head and stable/10. From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 10:17:50 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 03F127D0 for ; Mon, 16 Mar 2015 10:17:50 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::7]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 843003BC for ; Mon, 16 Mar 2015 10:17:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426501040; l=1366; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=AIlMiEhnvMVqyPSiuHY3iLVljnXdIJeoe2kM6UNU5Pk=; b=pMP8N0gPp0JRXqn9/y1FILFuImkFGUA5hhx2s92gJwM6Q8xD2gZcG+J6QeGRJAEDL3B Q6uudHTEEnGUsi6Iq42gHcxHLteiJPRlwHUL6KtVaqbCtst9ipMcCyOKZ9NBpda/Bppyx dFJy8UCjYl66dtIk1Jy16WIooh9gquPdfJs= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgkO4q1xDEhkgOJDsXNs= X-RZG-CLASS-ID: mo00 Received: from fuckner.delnet ([85.183.0.195]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPA id i03ec8r2GAH8VVr; Mon, 16 Mar 2015 11:17:08 +0100 (CET) Message-ID: <5506ADA4.8020207@fuckner.net> Date: Mon, 16 Mar 2015 11:17:08 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <20150314134733.GI2379@kib.kiev.ua> <550448B3.7050100@fuckner.net> <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> In-Reply-To: <20150316091758.GY2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 10:17:50 -0000 On 03/16/2015 10:17 AM, Konstantin Belousov wrote: > On Sun, Mar 15, 2015 at 10:46:03PM +0100, Michael Fuckner wrote: >> >>> Send me two things: >>> 1. output of acpidump -t >>> 2. verbose dmesg of the boot with tunables set >>> hw.dmar.enable=1 >>> hw.dmar.match_verbose=1 >>> >> >> http://dedi3.fuckner.net/~molli123/temp/head-dmar.log >> http://dedi3.fuckner.net/~molli123/temp/acpidump.txt >> >> here are the logs you requested, > > Note that there are no fault logs from the DMAR blocking invalid DMA > access. Look at the release 10.1 logs, where there are lines like > > DMAR0: :pci1:0:0 fault acc 0 adt 0x0 reason 0x5 addr 0 > > and which I cannot find in your CURRENT kernel dmesg. I would say that > the machine is fine, at least WRT the boot sequence. > > Then, I looked back at the previous logs from you, and both logs I > have say 10.1-RELEASE-p6 in the herald. You overwrite the logs, so > I cannot recheck the history, but it seems that you did not tested > stable/10 ? There is currently no difference in DMAR code between head > and stable/10. Just generated, anything I should test in debugger? Else I'll do the same with STABLE next. http://dedi3.fuckner.net/~molli123/temp/head.txt doing minimal network traffic causes the kernel to panic. BTW: How to turn off empty lines in minicom logging? From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 10:31:50 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 480FFDA6 for ; Mon, 16 Mar 2015 10:31:50 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C149984A for ; Mon, 16 Mar 2015 10:31:49 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2GAVeHk061438 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Mar 2015 12:31:40 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2GAVeHk061438 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2GAVe1Y061437; Mon, 16 Mar 2015 12:31:40 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 16 Mar 2015 12:31:40 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150316103140.GA2379@kib.kiev.ua> References: <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5506ADA4.8020207@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 10:31:50 -0000 On Mon, Mar 16, 2015 at 11:17:08AM +0100, Michael Fuckner wrote: > Just generated, anything I should test in debugger? > Else I'll do the same with STABLE next. With stable, it is only interesting if 'fault' lines are gone. > > http://dedi3.fuckner.net/~molli123/temp/head.txt > > doing minimal network traffic causes the kernel to panic. Please do the following: gdb kernel.debug (your kernel should be build with makeoptions DEBUG=-g) in gdb do (gdb) list *dmar_bus_dmamap_load_buffer+0x53 > > BTW: How to turn off empty lines in minicom logging? No idea. From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 10:37:14 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 54B17F66 for ; Mon, 16 Mar 2015 10:37:14 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DC32B8C1 for ; Mon, 16 Mar 2015 10:37:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426502210; l=657; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=VlUjmkkndghk7gUvN+Jk8Vz67D1200wnkIZtqXrNMvg=; b=wQlsQS0qtOi6LK0SFSqhBSK2Ri9oWgru5EyLWCJl1Vt+tVe34a8sYlHH936i/GQw8Xc O5lQ225pqNsov1VA5SL631oEPS9nNB4aq/gSQNmHqN6Hiedgs+RHlkJ2PlXDiLqypQ2NL P39FsbTlrSYaiYEoQ3+6csAv6JTg7sWpiHg= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgkO4q1xDEhkgOJDsXNs= X-RZG-CLASS-ID: mo00 Received: from fuckner.delnet ([85.183.0.195]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPA id L033acr2GAamVlQ; Mon, 16 Mar 2015 11:36:48 +0100 (CET) Message-ID: <5506B23F.20400@fuckner.net> Date: Mon, 16 Mar 2015 11:36:47 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <20150314145607.GJ2379@kib.kiev.ua> <5504530F.5040508@fuckner.net> <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> In-Reply-To: <20150316103140.GA2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 10:37:14 -0000 On 03/16/2015 11:31 AM, Konstantin Belousov wrote: > On Mon, Mar 16, 2015 at 11:17:08AM +0100, Michael Fuckner wrote: >> Just generated, anything I should test in debugger? >> Else I'll do the same with STABLE next. > With stable, it is only interesting if 'fault' lines are gone. > >> >> http://dedi3.fuckner.net/~molli123/temp/head.txt >> >> doing minimal network traffic causes the kernel to panic. > Please do the following: > gdb kernel.debug (your kernel should be build with makeoptions DEBUG=-g) > in gdb do > (gdb) list *dmar_bus_dmamap_load_buffer+0x53 > http://dedi3.fuckner.net/~molli123/temp/gdb.txt <- is this what you need? From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 10:53:07 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7679951E for ; Mon, 16 Mar 2015 10:53:07 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 17D8FAEC for ; Mon, 16 Mar 2015 10:53:06 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2GAr1lH066089 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Mar 2015 12:53:01 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2GAr1lH066089 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2GAr1TO066088; Mon, 16 Mar 2015 12:53:01 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 16 Mar 2015 12:53:01 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150316105301.GB2379@kib.kiev.ua> References: <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5506B23F.20400@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 10:53:07 -0000 On Mon, Mar 16, 2015 at 11:36:47AM +0100, Michael Fuckner wrote: > On 03/16/2015 11:31 AM, Konstantin Belousov wrote: > > On Mon, Mar 16, 2015 at 11:17:08AM +0100, Michael Fuckner wrote: > >> Just generated, anything I should test in debugger? > >> Else I'll do the same with STABLE next. > > With stable, it is only interesting if 'fault' lines are gone. > > > >> > >> http://dedi3.fuckner.net/~molli123/temp/head.txt > >> > >> doing minimal network traffic causes the kernel to panic. > > Please do the following: > > gdb kernel.debug (your kernel should be build with makeoptions DEBUG=-g) > > in gdb do > > (gdb) list *dmar_bus_dmamap_load_buffer+0x53 > > > > http://dedi3.fuckner.net/~molli123/temp/gdb.txt <- is this what you need? No. gdb must be run on the live system, at the shell prompt. You did it from the ddb. Anyway, as a guess from reading ixgbe source and from my experience with the em/igb, you could try the following. diff --git a/sys/dev/ixgbe/ixgbe.c b/sys/dev/ixgbe/ixgbe.c index db202fd..b34a72b 100644 --- a/sys/dev/ixgbe/ixgbe.c +++ b/sys/dev/ixgbe/ixgbe.c @@ -3765,7 +3765,6 @@ ixgbe_txeof(struct tx_ring *txr) buf->map); m_freem(buf->m_head); buf->m_head = NULL; - buf->map = NULL; } buf->eop = NULL; ++txr->tx_avail; @@ -3791,7 +3790,6 @@ ixgbe_txeof(struct tx_ring *txr) buf->map); m_freem(buf->m_head); buf->m_head = NULL; - buf->map = NULL; } ++txr->tx_avail; buf->eop = NULL; @@ -3954,8 +3952,7 @@ ixgbe_allocate_receive_buffers(struct rx_ring *rxr) for (i = 0; i < rxr->num_desc; i++, rxbuf++) { rxbuf = &rxr->rx_buffers[i]; - error = bus_dmamap_create(rxr->ptag, - BUS_DMA_NOWAIT, &rxbuf->pmap); + error = bus_dmamap_create(rxr->ptag, 0, &rxbuf->pmap); if (error) { device_printf(dev, "Unable to create RX dma map\n"); goto fail; There seems to be an unload leak as well, but lets fix the panic first. I.e. try the patch below only after you confirm that the patch above helps. diff --git a/sys/dev/ixgbe/ixgbe.c b/sys/dev/ixgbe/ixgbe.c index db202fd..b34a72b 100644 --- a/sys/dev/ixgbe/ixgbe.c +++ b/sys/dev/ixgbe/ixgbe.c m_free(rbuf->buf); rbuf->buf = NULL; } + bus_dmamap_unload(rxr->ptag, rbuf->pmap); rbuf->flags = 0; @@ -4732,6 +4730,7 @@ ixgbe_rxeof(struct ix_queue *que) sendmp->m_flags |= M_PKTHDR; sendmp->m_pkthdr.len = mp->m_len; } + bus_dmamap_unload(rxr->ptag, rbuf->pmap); ++processed; /* Pass the head pointer on */ From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 14:29:57 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D37C32DF for ; Mon, 16 Mar 2015 14:29:57 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 622B191E for ; Mon, 16 Mar 2015 14:29:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426516187; l=2081; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=Wa6GF7DBW/cKTSTcBc9w2WRcne6J21bWe62RFFPQ3cU=; b=ogSwSzsRj/RCVelDC3pV9lmJ0E1q7fkcHdGx5RlTO5uZPMBOt8LNau6hI1zUtic9fpO +9jPsWWV3+6e4Yju2JZEDMuRy4x7VcCVLv4QbT5ktADMCz6WqKWAvJ9uFZPgcEC74h6Yl GQThG1wm0NVvbh45zojO0L7V4SIaz8YgUdE= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgkO4q1xDEhkgOJDsXNs= X-RZG-CLASS-ID: mo00 Received: from fuckner.delnet ([85.183.0.195]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPA id U02b70r2GETkc6N; Mon, 16 Mar 2015 15:29:46 +0100 (CET) Message-ID: <5506E8D6.30703@fuckner.net> Date: Mon, 16 Mar 2015 15:29:42 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <20150314153941.GL2379@kib.kiev.ua> <5505160A.1020703@fuckner.net> <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> In-Reply-To: <20150316105301.GB2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 14:29:58 -0000 On 03/16/2015 11:53 AM, Konstantin Belousov wrote: > On Mon, Mar 16, 2015 at 11:36:47AM +0100, Michael Fuckner wrote: >> On 03/16/2015 11:31 AM, Konstantin Belousov wrote: >>> On Mon, Mar 16, 2015 at 11:17:08AM +0100, Michael Fuckner wrote: >>>> Just generated, anything I should test in debugger? >>>> Else I'll do the same with STABLE next. >>> With stable, it is only interesting if 'fault' lines are gone. >>> >>>> >>>> http://dedi3.fuckner.net/~molli123/temp/head.txt >>>> >>>> doing minimal network traffic causes the kernel to panic. >>> Please do the following: >>> gdb kernel.debug (your kernel should be build with makeoptions DEBUG=-g) >>> in gdb do >>> (gdb) list *dmar_bus_dmamap_load_buffer+0x53 >>> >> >> http://dedi3.fuckner.net/~molli123/temp/gdb.txt <- is this what you need? > > No. gdb must be run on the live system, at the shell prompt. You did it > from the ddb. root@s4l:~ # gdb head-kernel.debug GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... (gdb) list *dmar_bus_dmamap_load_buffer+0x53 0xffffffff80e7dd43 is in dmar_bus_dmamap_load_buffer (/usr/src-head/sys/x86/iommu/busdma_dmar.c:656). 651 map = (struct bus_dmamap_dmar *)map1; 652 pstart = trunc_page((vm_offset_t)buf); 653 pend = round_page((vm_offset_t)buf + buflen); 654 offset = (vm_offset_t)buf & PAGE_MASK; 655 ma_cnt = OFF_TO_IDX(pend - pstart); 656 ma = malloc(sizeof(vm_page_t) * ma_cnt, M_DEVBUF, map->cansleep ? 657 M_WAITOK : M_NOWAIT); 658 if (ma == NULL) 659 return (ENOMEM); 660 if (dumping) { (gdb) root@s4l:~ # logout kernel crashed instantly with the patches, bu maybe I made a mistake, serial was doing strange things. Recompiling now and booting again. I'll keep you updated. From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 15:18:49 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 200AB284 for ; Mon, 16 Mar 2015 15:18:49 +0000 (UTC) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) by mx1.freebsd.org (Postfix) with ESMTP id EE13DFCD for ; Mon, 16 Mar 2015 15:18:48 +0000 (UTC) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 7923F5A9F25; Mon, 16 Mar 2015 15:18:48 +0000 (UTC) Date: Mon, 16 Mar 2015 15:18:48 +0000 From: Brooks Davis To: Subhashish Pradhan Subject: Re: GSOC 2015 - Idea: Overhaul the config system Message-ID: <20150316151848.GC24618@spindle.one-eyed-alien.net> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="m51xatjYGsM+13rf" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 15:18:49 -0000 --m51xatjYGsM+13rf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Mar 15, 2015 at 01:17:10PM +0530, Subhashish Pradhan wrote: > Hello, >=20 > I'm Subhashish Pradhan, a 3rd year CS undergrad from India. I am > interested in the following idea: "Overhaul the config system". >=20 > I see that this project requires C, some scripting (I guess > Makefiles), and some kernel skills. I believe I have these skills > thanks to my GSOC project with GNU/Hurd last year and from writing > basic kernel modules for the Eudyptula Challenge. >=20 > Since this task is limited to base-system, what could be some basic > work that can be done to demonstrate proficiency while working on > base-system, related to this project? >=20 > I guess, I need to understand the specifics of rebuilding a kernel, > don't I? (then I'll try to rebuild and study makefiles and > dependencies) >=20 > Any helpful directions/commments will be appreciated. At a minimum, you'd need to have added a device driver to the system, but many of the real problems are in the edge cases such as the special handling for ZFS code and the hacks to support DTrace (CTF). I think this project would be best for someone with some experience modifying FreeBSD's kernel build system. Without that experience it will be difficult to discern which parts of the system are important and which are historical accidents. -- Brooks --m51xatjYGsM+13rf Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlUG9FcACgkQXY6L6fI4GtS9WACfa0kGHHGHhgx33vy36rHdIH5r pscAnRUn+TWBmRCGUofbN9JnWtIcXmsx =GZP6 -----END PGP SIGNATURE----- --m51xatjYGsM+13rf-- From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 15:40:29 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2B7493BF for ; Mon, 16 Mar 2015 15:40:29 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1F51667 for ; Mon, 16 Mar 2015 15:40:28 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2GFeM1W046182 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Mar 2015 17:40:22 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2GFeM1W046182 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2GFeM0s046179; Mon, 16 Mar 2015 17:40:22 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 16 Mar 2015 17:40:22 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150316154022.GD2379@kib.kiev.ua> References: <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5506E8D6.30703@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 15:40:29 -0000 On Mon, Mar 16, 2015 at 03:29:42PM +0100, Michael Fuckner wrote: > On 03/16/2015 11:53 AM, Konstantin Belousov wrote: > > On Mon, Mar 16, 2015 at 11:36:47AM +0100, Michael Fuckner wrote: > >> On 03/16/2015 11:31 AM, Konstantin Belousov wrote: > >>> On Mon, Mar 16, 2015 at 11:17:08AM +0100, Michael Fuckner wrote: > >>>> Just generated, anything I should test in debugger? > >>>> Else I'll do the same with STABLE next. > >>> With stable, it is only interesting if 'fault' lines are gone. > >>> > >>>> > >>>> http://dedi3.fuckner.net/~molli123/temp/head.txt > >>>> > >>>> doing minimal network traffic causes the kernel to panic. > >>> Please do the following: > >>> gdb kernel.debug (your kernel should be build with makeoptions DEBUG=-g) > >>> in gdb do > >>> (gdb) list *dmar_bus_dmamap_load_buffer+0x53 > >>> > >> > >> http://dedi3.fuckner.net/~molli123/temp/gdb.txt <- is this what you need? > > > > No. gdb must be run on the live system, at the shell prompt. You did it > > from the ddb. > > root@s4l:~ # gdb head-kernel.debug > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "amd64-marcel-freebsd"... > (gdb) list *dmar_bus_dmamap_load_buffer+0x53 > 0xffffffff80e7dd43 is in dmar_bus_dmamap_load_buffer > (/usr/src-head/sys/x86/iommu/busdma_dmar.c:656). > 651 map = (struct bus_dmamap_dmar *)map1; > 652 pstart = trunc_page((vm_offset_t)buf); > 653 pend = round_page((vm_offset_t)buf + buflen); > 654 offset = (vm_offset_t)buf & PAGE_MASK; > 655 ma_cnt = OFF_TO_IDX(pend - pstart); > 656 ma = malloc(sizeof(vm_page_t) * ma_cnt, M_DEVBUF, map->cansleep ? > 657 M_WAITOK : M_NOWAIT); > 658 if (ma == NULL) > 659 return (ENOMEM); > 660 if (dumping) { > (gdb) root@s4l:~ # logout > > > > kernel crashed instantly with the patches, bu maybe I made a mistake, > serial was doing strange things. Recompiling now and booting again. I'll > keep you updated. Try to apply only the first patch for now, keeping the second (leaky patch) out of scope. From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 16:31:23 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A9A407E0; Mon, 16 Mar 2015 16:31:23 +0000 (UTC) Received: from mail-la0-x236.google.com (mail-la0-x236.google.com [IPv6:2a00:1450:4010:c03::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 28AECD90; Mon, 16 Mar 2015 16:31:23 +0000 (UTC) Received: by lamx15 with SMTP id x15so44800660lam.3; Mon, 16 Mar 2015 09:31:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=3WdBgLT/bLkGVPxlkyzcAWEik6dl5kaTE/j97iuVd9k=; b=DF0zJQNwrACsovj1XWMqq1W4aJNLTERNM8kXDEebgsvtRO1MabD9KnPz96dEC/t3Vn Mny+j65noA7oXSF/4rTws7ATMdPoCq/nnhX8dinIZitBA81VLPmFZZEbGWPgQ13ghLZ7 W6wGeuGjGq+77zGyJbOgKOllyxYPmna0D/KpHaF1rigIkPLnPzawsbw5pGItv6JUKlpi 42iWIUFNkZGAPngIJ3vvd+TLfX6cIVlL2ANs96SXWEHmYw3GdKotqxfNiLKuL5sSJVUJ 0AfpildTW7dZ6cs7qVSAAzwNw6Xwo1QtLSINoLcKHAvHzskKyyMEoVbr9GWd1jmAQo6/ HHeg== MIME-Version: 1.0 X-Received: by 10.152.120.202 with SMTP id le10mr41817900lab.115.1426523481189; Mon, 16 Mar 2015 09:31:21 -0700 (PDT) Received: by 10.112.157.136 with HTTP; Mon, 16 Mar 2015 09:31:21 -0700 (PDT) In-Reply-To: <550683AF.1010007@selasky.org> References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> <550683AF.1010007@selasky.org> Date: Mon, 16 Mar 2015 16:31:21 +0000 Message-ID: Subject: Re: GSoC 2015: USB-Front end driver From: Gokul Krishna To: Hans Petter Selasky Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 16:31:23 -0000 Hi Sorry for late reply, Since i was busy last week for 1 of my course exam and lab assignments . Now Iam free . Yes shall we schedule some time to discuss about the USB front end driver. Let me share some of my understandings i had , when i did a Linux kernel and Device drivers course which includes USB device driver . I did this course under a famous corporate trainer Raghu Bharadwaj in Veda Institute of technology, Hyderabad India. I did some coding and testing with character and block device drivers. Before my masters studies I worked for couple of design and maintenance of Embedded linux device drivers such as MCP23s17 and DSC11531 DAC chips and testing the Embedded software for Data distribution unit and further i worked on implementing Remote UI for sound bar EVM with 2 core Omap SoC . I understood the basics of USB Stack for any USB device , 6 device classes for USB driver and its data transfer types and 4 descriptor structures described in USB specification and further the Lifecycle of URB request blocks which is an important concern for coding and implementation of USB device drivers In my opinion USB is more of implementing Library functions and frame level application data transfer . An USB driver data transfer can also be Char/Block/Network drivers with some registration layer, file operations structure changes. Kindly mention your convenient time on coming wednesday or thursday and Im in Sweden so I need to check corresponding CET time on these days to fix timing . My skype id is gokulnath.gokulnath1 Kindly reply me thanks and regards Gokul On Mon, Mar 16, 2015 at 7:18 AM, Hans Petter Selasky wrote: > Hi Gokul, > > Ping: Can you respond to this e-mail or are you one of those spam bots? > > --HPS > From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 16:44:54 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C0F7DA59; Mon, 16 Mar 2015 16:44:54 +0000 (UTC) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E747EE1; Mon, 16 Mar 2015 16:44:54 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id CD81C1FE023; Mon, 16 Mar 2015 17:44:50 +0100 (CET) Message-ID: <550708B0.8010601@selasky.org> Date: Mon, 16 Mar 2015 17:45:36 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Gokul Krishna Subject: Re: GSoC 2015: USB-Front end driver References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> <550683AF.1010007@selasky.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 16:44:54 -0000 On 03/16/15 17:31, Gokul Krishna wrote: > Hi ... Sounds good. > > Kindly mention your convenient time on coming wednesday or thursday and Im > in Sweden so I need to check corresponding CET time on these days to fix > timing . > My skype id is gokulnath.gokulnath1 I'm located in Norway, so that might be a good chance to meet :-) --HPS From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 18:32:20 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E0EA195E for ; Mon, 16 Mar 2015 18:32:19 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::7]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6F2E5EAE for ; Mon, 16 Mar 2015 18:32:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426530716; l=2454; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=plHQR+XwKD8F6cAmFIpC7Kz6SwPgwHYEAybZgjAUEkE=; b=L2AHLE0rdYYHbIfwaobpgjuwWFMzROXSXcsC9STEZ0jGh1TcBhPtS2dtS6Dij3XotHI qmVD8e0K2g6PhhqgAfAZlgj1wmzXiH9HIs9h7VO3B6Zy8Gfd6lShYJvHkiLxkpgwi0YXu Z203PP8IMpjt1CZgCMG0fu8t6iM8ow1OGHU= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgknstV9BEzWRmW1VTtclXiT4m0s/Y3SGGDW3jiHoGm6MUMQ2MqfF X-RZG-CLASS-ID: mo00 Received: from [IPv6:2a02:2028:61a:f01:c0e3:c7da:169d:d326] (some-ipv6-address.wtnet.de [IPv6:2a02:2028:61a:f01:c0e3:c7da:169d:d326]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPSA id c02660r2GIVmP2B (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate); Mon, 16 Mar 2015 19:31:48 +0100 (CET) Message-ID: <55072195.40609@fuckner.net> Date: Mon, 16 Mar 2015 19:31:49 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <5505827D.6060404@fuckner.net> <5505982E.9060201@fuckner.net> <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> <20150316154022.GD2379@kib.kiev.ua> In-Reply-To: <20150316154022.GD2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 18:32:20 -0000 >> >> kernel crashed instantly with the patches, bu maybe I made a mistake, >> serial was doing strange things. Recompiling now and booting again. I'll >> keep you updated. > Try to apply only the first patch for now, keeping the second (leaky patch) > out of scope. first patch doesn't look good, looks like ahci explodes ahcich0: AHCI reset... ahcich0: SATA connect timeout time=10000us status=00000000 ahcich0: AHCI reset: device not found ahcich1: AHCI reset... ahcich1: SATA connect time=1800us status=00000113 ahcich1: AHCI reset: device found ahcich1: AHCI reset: device ready after 0ms ahcich2: AHCI reset... ahcich2: SATA connect timeout time=10000us status=00000000 ahcich2: AHCI reset: device not found ahcich3: AHCI reset... ahcich3: SATA connect timeout time=10000us status=00000000 ahcich3: AHCI reset: device not found ahcich4: panic: boundary failed: ctx 0xfffff801a4c2ca00 start 0x131000 end 0x133000 boundary 0x1000 cpuid = 0 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffffff81c5e6f0 vpanic() at vpanic+0x189/frame 0xffffffff81c5e770 kassert_panic() at kassert_panic+0x132/frame 0xffffffff81c5e7e0 dmar_bus_dmamap_load_something() at dmar_bus_dmamap_load_something+0x35e/frame 0xffffffff81c5e890 dmar_bus_dmamap_load_buffer() at dmar_bus_dmamap_load_buffer+0x246/frame 0xffffffff81c5e910 bus_dmamap_load() at bus_dmamap_load+0x8d/frame 0xffffffff81c5e990 _nvme_qpair_submit_request() at _nvme_qpair_submit_request+0x1ca/frame 0xffffffff81c5e9e0 nvme_qpair_submit_request() at nvme_qpair_submit_request+0x38/frame 0xffffffff81c5ea10 nvme_ctrlr_start() at nvme_ctrlr_start+0x7b/frame 0xffffffff81c5ea80 nvme_ctrlr_start_config_hook() at nvme_ctrlr_start_config_hook+0xe/frame 0xffffffff81c5eaa0 run_interrupt_driven_config_hooks() at run_interrupt_driven_config_hooks+0x7c/frame 0xffffffff81c5eac0 boot_run_interrupt_driven_config_hooks() at boot_run_interrupt_driven_config_hooks+0x20/frame 0xffffffff81c5eb50 mi_startup() at mi_startup+0x118/frame 0xffffffff81c5eb70 btext() at btext+0x2c KDB: enter: panic [ thread pid 0 tid 100000 ] Stopped at kdb_enter+0x3e: movq $0,kdb_why db> http://dedi3.fuckner.net/~molli123/temp/11-ixgbe.log I'll reboot now and check if I patched the file correctly. But this takes 45min. At least I figured out how to remove the empty Lines (Ctrl-a, shift-A). Don't run minicom inside a screen ;-) From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 18:56:08 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A23DD38E for ; Mon, 16 Mar 2015 18:56:08 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 28B5D188 for ; Mon, 16 Mar 2015 18:56:07 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2GIu2JJ098886 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Mar 2015 20:56:02 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2GIu2JJ098886 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2GIu20q098884; Mon, 16 Mar 2015 20:56:02 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 16 Mar 2015 20:56:02 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150316185602.GJ2379@kib.kiev.ua> References: <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> <20150316154022.GD2379@kib.kiev.ua> <55072195.40609@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55072195.40609@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 18:56:08 -0000 On Mon, Mar 16, 2015 at 07:31:49PM +0100, Michael Fuckner wrote: > first patch doesn't look good, looks like ahci explodes The patch I sent only changes ixgbe code. This is not ahci, it is nvme causing some troubles. The bug is genuine DMAR bug, driver specified allocation with size greater than boundary, and the code failed to split the request. > > ahcich0: AHCI reset... > ahcich0: SATA connect timeout time=10000us status=00000000 > ahcich0: AHCI reset: device not found > ahcich1: AHCI reset... > ahcich1: SATA connect time=1800us status=00000113 > ahcich1: AHCI reset: device found > ahcich1: AHCI reset: device ready after 0ms > ahcich2: AHCI reset... > ahcich2: SATA connect timeout time=10000us status=00000000 > ahcich2: AHCI reset: device not found > ahcich3: AHCI reset... > ahcich3: SATA connect timeout time=10000us status=00000000 > ahcich3: AHCI reset: device not found > ahcich4: panic: boundary failed: ctx 0xfffff801a4c2ca00 start 0x131000 > end 0x133000 boundary 0x1000 > cpuid = 0 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame > 0xffffffff81c5e6f0 > vpanic() at vpanic+0x189/frame 0xffffffff81c5e770 > kassert_panic() at kassert_panic+0x132/frame 0xffffffff81c5e7e0 > dmar_bus_dmamap_load_something() at > dmar_bus_dmamap_load_something+0x35e/frame 0xffffffff81c5e890 > dmar_bus_dmamap_load_buffer() at dmar_bus_dmamap_load_buffer+0x246/frame > 0xffffffff81c5e910 > bus_dmamap_load() at bus_dmamap_load+0x8d/frame 0xffffffff81c5e990 > _nvme_qpair_submit_request() at _nvme_qpair_submit_request+0x1ca/frame > 0xffffffff81c5e9e0 > nvme_qpair_submit_request() at nvme_qpair_submit_request+0x38/frame > 0xffffffff81c5ea10 > nvme_ctrlr_start() at nvme_ctrlr_start+0x7b/frame 0xffffffff81c5ea80 > nvme_ctrlr_start_config_hook() at nvme_ctrlr_start_config_hook+0xe/frame > 0xffffffff81c5eaa0 > run_interrupt_driven_config_hooks() at > run_interrupt_driven_config_hooks+0x7c/frame 0xffffffff81c5eac0 > boot_run_interrupt_driven_config_hooks() at > boot_run_interrupt_driven_config_hooks+0x20/frame 0xffffffff81c5eb50 > mi_startup() at mi_startup+0x118/frame 0xffffffff81c5eb70 > btext() at btext+0x2c > KDB: enter: panic > [ thread pid 0 tid 100000 ] > Stopped at kdb_enter+0x3e: movq $0,kdb_why > db> > > http://dedi3.fuckner.net/~molli123/temp/11-ixgbe.log > > I'll reboot now and check if I patched the file correctly. But this > takes 45min. > > At least I figured out how to remove the empty Lines (Ctrl-a, shift-A). > Don't run minicom inside a screen ;-) I do not quite understand why such programs as minicom are needed at all. Isn't tip (AKA cu) good enough ? Please add the following patch to the kernel. diff --git a/sys/x86/iommu/intel_gas.c b/sys/x86/iommu/intel_gas.c index 51ad151..aa59c1b 100644 --- a/sys/x86/iommu/intel_gas.c +++ b/sys/x86/iommu/intel_gas.c @@ -327,13 +327,15 @@ dmar_gas_match_one(struct dmar_gas_match_args *a, struct dmar_map_entry *prev, start = roundup2(bs, a->common->alignment); /* DMAR_PAGE_SIZE to create gap after new entry. */ if (start + a->size + DMAR_PAGE_SIZE <= prev->end + prev->free_after && - start + a->size <= end) { + start + a->size <= end && dmar_test_boundary(start, a->size, + a->common->boundary)) { a->entry->start = start; return (true); } /* - * Not enough space to align at boundary, but allowed to split. + * Not enough space to align at the requested boundary, or + * boundary is smaller than the size, but allowed to split. * We already checked that start + size does not overlap end. * * XXXKIB. It is possible that bs is exactly at the start of From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 19:19:24 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 813CAB4F for ; Mon, 16 Mar 2015 19:19:24 +0000 (UTC) Received: from mail-pa0-x22b.google.com (mail-pa0-x22b.google.com [IPv6:2607:f8b0:400e:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 505B45E0 for ; Mon, 16 Mar 2015 19:19:24 +0000 (UTC) Received: by pagr17 with SMTP id r17so73230188pag.0 for ; Mon, 16 Mar 2015 12:19:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=WKnWdQeghNDeh5+M1bAfPS8Own8+d+ioRxYQjcnLFt0=; b=PPqnB6/x2mf5DvyonENn9TMKeJ1Npzi6DaMWeM03ELkPiwjWe8qCg0CPDq0SrVU1iQ rnh1AFzPYZ8eXAher4IMuS8KNa9Z4Pjfk4PDTuuitrR6vE9OsjqC7gAJtdO9f+OuRi2+ 2Vy1AfFhLR4wEpCf4KAab3kqRi6hg78UOMGqFcAXa7CE1iYwqOwnbdXmjZHFJBBl++Rx MOkR0tFydq4bNHkX80lepT+GbxrnK7h0pz5FQOhBjwEnSum4Y1Gsa6mfR/DE4I3xkzsP jJ5UhBvu23FZm/zerUJM9Dc8m5isRtPQtBOUaUTTsBiEfRQS8hr3gDeOobs+kWjaQjLF RN/Q== X-Received: by 10.66.234.2 with SMTP id ua2mr119359938pac.137.1426533563819; Mon, 16 Mar 2015 12:19:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.66.179.203 with HTTP; Mon, 16 Mar 2015 12:18:53 -0700 (PDT) From: Yue Chen Date: Mon, 16 Mar 2015 15:18:53 -0400 Message-ID: Subject: Hash table in FreeBSD kernel? To: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 19:19:24 -0000 Dear all, Is there a good hash table implementation for FreeBSD kernel, x86_64? I tried "uthash", but encountered some memory problems (during HASH_FIND()) when the entry number becomes large. The cause may be my replacements for the user-space header functions and types are incorrect. ===================================================================== The userland functions/types need to be replaced: #include /* memcmp,strlen */ #include /* ptrdiff_t */ #include /* exit() */ /* malloc() */ ===================================================================== I use: #include /* memcmp */ #include typedef __ptrdiff_t ptrdiff_t; #include #include /* the malloc() */ ------------------------------------------------------------------------------------------------------------------------ size_t strlen(const char *str) { const char *s; for (s = str; *s; ++s); return(s - str); } ===================================================================== Any suggestions for using "uthash" in kernel, or any other alternatives that I can use? (the FreeBSD kernel's "hash32" function set seems only support 32-bit key hash) Best regards and thanks, Yue From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 20:43:22 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5F285CBE for ; Mon, 16 Mar 2015 20:43:22 +0000 (UTC) Received: from mail-wg0-x22d.google.com (mail-wg0-x22d.google.com [IPv6:2a00:1450:400c:c00::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E6BD8157 for ; Mon, 16 Mar 2015 20:43:21 +0000 (UTC) Received: by wggv3 with SMTP id v3so49718392wgg.1 for ; Mon, 16 Mar 2015 13:43:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=/ohlXEbg1LChplFaR3UbuCO1fCzAu3lL1ETLJZ3MHhk=; b=UxIU2v772ukm01qrLIqXiHXWMZcUmMdILbknezVyJ57nzbN+ddZrZOngUA18qg6oY1 84s+inZIUwiTvoqQWoDP1BD5DIte3Q/yfXVetANtJF3RZU9lPDW2wH7dlhUfyDi9nPkI pNgLpCQt8FTqssrM1Qi5CKip2gH2Ag5tWDk1+TbgzBqRkTpIxrTKvQ3Y0cxVEQTQMkYv j1solKkPvdC1976fiGnu78YWuqlnUs1eVe3hyptsLYF7ds7RZ5g1YjfzL0IeeX2GKUSj nTOGhVypbkt1hBq4CuN/raIFayqKokvEAd+pR+a5wq6cAnHrx5XlpU6NzZYHzN8P/TsW oisQ== MIME-Version: 1.0 X-Received: by 10.180.126.38 with SMTP id mv6mr20583971wib.22.1426538600362; Mon, 16 Mar 2015 13:43:20 -0700 (PDT) Sender: asomers@gmail.com Received: by 10.194.17.129 with HTTP; Mon, 16 Mar 2015 13:43:20 -0700 (PDT) In-Reply-To: References: Date: Mon, 16 Mar 2015 14:43:20 -0600 X-Google-Sender-Auth: gluNyB5r6Zoi2YwQsZ-zKqcWMkA Message-ID: Subject: Re: Hash table in FreeBSD kernel? From: Alan Somers To: Yue Chen Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 20:43:22 -0000 On Mon, Mar 16, 2015 at 1:18 PM, Yue Chen wrote: > Dear all, > > Is there a good hash table implementation for FreeBSD kernel, x86_64? I > tried "uthash", but encountered some memory problems (during HASH_FIND()) > when the entry number becomes large. The cause may be my replacements for > the user-space header functions and types are incorrect. > > ===================================================================== > > The userland functions/types need to be replaced: > > #include /* memcmp,strlen */ > > #include /* ptrdiff_t */ > > #include /* exit() */ /* malloc() */ > > ===================================================================== > > I use: > > #include /* memcmp */ > > #include > > typedef __ptrdiff_t ptrdiff_t; > > #include > > #include /* the malloc() */ > > ------------------------------------------------------------------------------------------------------------------------ > > size_t strlen(const char *str) > > { > > const char *s; > > for (s = str; *s; ++s); > > return(s - str); > > } > > ===================================================================== > > Any suggestions for using "uthash" in kernel, or any other alternatives > that I can use? (the FreeBSD kernel's "hash32" function set seems only > support 32-bit key hash) > > Best regards and thanks, > Yue hash32_buf is just a hash function, not a hash table. And it's a bad hash function; changing the last few bits of input will always change the output by a multiple of 33. Better hash functions are jenkins_hash or fnv_32_buf and friends. However, those are also just hash functions. Most kernel code that needs hash tables uses a fixed size array of buckets with one of the above hash functions. I'm not aware of any in-kernel hash tables with a dynamic number of buckets. It doesn't mean there aren't any, though. -Alan From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 16 21:35:49 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A9895435 for ; Mon, 16 Mar 2015 21:35:49 +0000 (UTC) Received: from nm10-vm0.bullet.mail.bf1.yahoo.com (nm10-vm0.bullet.mail.bf1.yahoo.com [98.139.213.147]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 53B4FB35 for ; Mon, 16 Mar 2015 21:35:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1426541742; bh=CSFUIY4NS3GoVvSagUj/189OqMsZRiB8lQDzbshuZ/k=; h=Date:From:To:Subject:From:Subject; b=B7O3wGdTJHFFu3cE4y0z48jT8utDD/m+aMN29A/Sv1cXDo67SNmWUbA7zLPXGOiRopum3kt1SiCV5PNpqZRbA9NCd0MF0cxYAXbHXa1FUMakakk/1/xOji6FhPsP1jT+vTcPCmnDlegru8z4Ji6SSSVUyaH5qibR1qAKASa2idtGhqUCNpAXjVPojU21Sd67zk/B7MhkOxxDTcEX06FtE6+x9vJG0CmXm4U8nvXcIoFiyGQe7G3kjav+1fV7yD/eyPNNkwXFTlK58DYJe2G9YVo1UnfkFdTBe6d+FHWlxyPXhLRQYsvFslp8Ux354cn8ZKMikabfdUJ2/mANYFCdGw== Received: from [98.139.215.140] by nm10.bullet.mail.bf1.yahoo.com with NNFMP; 16 Mar 2015 21:35:42 -0000 Received: from [98.139.213.14] by tm11.bullet.mail.bf1.yahoo.com with NNFMP; 16 Mar 2015 21:35:42 -0000 Received: from [127.0.0.1] by smtp114.mail.bf1.yahoo.com with NNFMP; 16 Mar 2015 21:35:42 -0000 X-Yahoo-Newman-Id: 105019.69702.bm@smtp114.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: jStLUzQVM1lZO6pFjTh95OVL7NBSFBT6QXLlZWiKZz_1mna MqVysOClL5L38CCeyMvl4LLuEUeGV0hMMbgz6bTSJ2yVcrRnHjYTg3Fd.81U X3SnQijsEiR8sft6gOTRNMdRcKPOq1vYq5xAycUbtgyjHB_nUAksmU6GQV40 e2uq6brp_d9n.4V1x0C8QNgubA.nzlAjjPEwXEjIsuc9DrxFFQh_NX3AHM3V MmXEy.xmwuP5Y.5hQ773_.Ira8G0Jd.E8sVPkx9V1IumudtjW4vSzP4.I0up j14dvesNHhQx5EX_M2mdQMkThhdbQI3L1ThByn6RsFoGbsI6pWjsOUuzhIuc PXiXnkxS3g_Lje7Ih_ns8B86iYc6jqMyl9QuachHQ.ixz.JF_uiVA18_xCtH rSyuIjCGy1ljxIB6qXuclxUMCzwEgNmvFrrDuJVpOpFL93ANr0zndDNTlvUA 0UKlfr9dIXK9iiwq9ueA6Sxv.sarjkyvmSIfEIQN42QhkXVcglw48bEA.MIa rsXIyaiH.Y9bwQ1BU.qBYuaxg_Rjcf7YSDNy2f8SNKzdP3pRdMuRF7QdiT5I QTLMAAtLdi0V4Y__iBQjnXM2aDfSuY24EespHS_6xvzj1RS72FgQ- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Message-ID: <55074CBF.3000904@FreeBSD.org> Date: Mon, 16 Mar 2015 16:35:59 -0500 From: Pedro Giffuni Organization: FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Subhashish Pradhan , FreeBSD Hackers Subject: Re: GSOC 2015 - Idea: Overhaul the config system Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 21:35:49 -0000 Hi Subhashish; AFAICT GNU/hurd has no similarity to FreeBSD .. or anything ;). In any case, to be able to really overhaul the config system you have to understand how we build device drivers and how dependencies are built. You basically have to understand NewBus: https://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/newbus.html And you should also take a look at the last attempt to adopt the NetBSD approach (at the end newbus won): http://www.jp.freebsd.org/newconfig/ Hope that helps, Pedro. From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 08:26:52 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9A7D7A70 for ; Tue, 17 Mar 2015 08:26:52 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::12]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2C018645 for ; Tue, 17 Mar 2015 08:26:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426580785; l=705; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=lEM7phAO5nMgc73hnVfBat+oP4qJ5XX6KcqKzyvfe7g=; b=wM3nBypHLgG0sFV/TtCykPuRMgxBwLswGr66LTx125z0AjaTbgEK+RrCr1kNTMxWiVY 0pHqw1zASgJ/vkenq1Y8z/j9OPxFuH0iVBtrLOcYtH+TsULdBLvBhwfW5V14LTVnlQsYF 8+C6nBSOypvWRW19F0Hao6DV74WkskwqJQU= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgkO4q1xDEhkgOJDsXNs= X-RZG-CLASS-ID: mo00 Received: from fuckner.delnet ([85.183.0.195]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPA id q037b3r2H8QDj8F; Tue, 17 Mar 2015 09:26:13 +0100 (CET) Message-ID: <5507E525.4000209@fuckner.net> Date: Tue, 17 Mar 2015 09:26:13 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <20150315193202.GS2379@kib.kiev.ua> <2138577776.537937.1426455964006.JavaMail.open-xchange@ptangptang.store> <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> <20150316154022.GD2379@kib.kiev.ua> <55072195.40609@fuckner.net> <20150316185602.GJ2379@kib.kiev.ua> In-Reply-To: <20150316185602.GJ2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 08:26:52 -0000 >> >> At least I figured out how to remove the empty Lines (Ctrl-a, shift-A). >> Don't run minicom inside a screen ;-) > I do not quite understand why such programs as minicom are needed at all. > Isn't tip (AKA cu) good enough ? OK, I'll test cu+tee for logging. Basicially I like cu, but logging with minicom is quite easy > Please add the following patch to the kernel. > > diff --git a/sys/x86/iommu/intel_gas.c b/sys/x86/iommu/intel_gas.c it looks like this with the gas patch. http://dedi3.fuckner.net/~molli123/temp/head-ixgbe-gas.txt but when I do nvmecontrol devlist, I get a panic again http://dedi3.fuckner.net/~molli123/temp/nvme.log Regards, Michael! From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 09:17:48 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E8F73965; Tue, 17 Mar 2015 09:17:47 +0000 (UTC) Received: from mail-qg0-x232.google.com (mail-qg0-x232.google.com [IPv6:2607:f8b0:400d:c04::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A1AF9CA0; Tue, 17 Mar 2015 09:17:47 +0000 (UTC) Received: by qgez64 with SMTP id z64so2523459qge.2; Tue, 17 Mar 2015 02:17:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=Gxz1Nt5xFX+o4t9L4MLLQY++cQtvwWWGVqTyFl+H1sE=; b=n+jD7GvY2WhSCCCKQkiPuQXoLUG0aTikGiOw82vygkXuo9Dk0X3tvarSxS9wxztuZd mSW6yz1qrP3D3uZkyH22C2ZT4JRsvE+dh7j2RW8W1o3FNtKUmEl1jo/Rx6O0Ul73SJ1e lwfkGMG1/WYp4SOtELtpQugXRbs3gNwrcw+orDRkbXq+7O7O2EfxTZVsRiFjBlqODu9O N+eBIsll4kV318QX4/6Vnxm49tQIl8Ny1rArU5f2uqaVmSYgStKSSPpBzWZpref1h28L 4Q9FMfDVjsUnyE8zgC6hWtcdSzs8Ze1hMG6/2/8oep10dVHmej+AttMSigzFSSUM0zIq XBwA== X-Received: by 10.141.18.208 with SMTP id u199mr81819152qhd.47.1426583866164; Tue, 17 Mar 2015 02:17:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?B?5YiY5pm654y3?= Date: Tue, 17 Mar 2015 09:17:45 +0000 Message-ID: Subject: GSoC 2015: Memory compression To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "theraven@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 09:17:48 -0000 Hi hackers, I am a CS master student from Peking University and interesting in FreeBSD's GSoC, especially the memory compression idea. I had some experience of kernel development and debugging from my previous RedHat kernel QA internship and MIT 6.828 course project JOS which requires to implement a unix-like single processor OS. Though I don't have much experience of FreeBSD but I have the intention and the passion to improve my knowledge during this project. Here is a few things I want to ask, 1. Is this project still available/incomplete? I ask this because I noticed some ideas listed in the summer of code ideas page have been finished in previous GSoC. 2. I think the first step of this project could be reserving some memory space as in-memory swap and we 'swap' the less used page to it. Is that sounds like a plan to you? If so, I would make a prototype of it in FreeBSD in the next few days to get my hand dirty. P.S. I had sent an identical email to theraven@, just forwarding it here. It would be great if I could get your helps and advises. Sincerely, Zhiyou From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 15:42:30 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A9E1EC5B for ; Tue, 17 Mar 2015 15:42:30 +0000 (UTC) Received: from mail-ie0-x231.google.com (mail-ie0-x231.google.com [IPv6:2607:f8b0:4001:c03::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6C508F22 for ; Tue, 17 Mar 2015 15:42:30 +0000 (UTC) Received: by iecsl2 with SMTP id sl2so13477738iec.1 for ; Tue, 17 Mar 2015 08:42:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=xSKCAjigXFhHUykFaJpsf/F/YBww8Q+63LBcnTyboqU=; b=MNa2RHzHDR6y42SZVCtufBxAezOKH0QBdO1G88aCAQQWb0/Ye0uC7nT/sHaJzlZmvN ZI31MPkqGZDFtMFN9ImCGFMuCvHbgUn2mphSl2LepGZ2Q2QUmKhQSb9Z2h5KbsnhRLl9 ydZNOdT+8e3xTmGb3fzqAiZ5y3w0T9A3g8D6vyMLw4NmMzeKHD8WHGg2cx8mzjrreGfy v0AK0J1hpCmeNW4VXGnklPmgipSF2/XPR3QGU0h9LQhqWkmI0iKz07GXQKKDNzPTPBMs WUWjNOa/rJ5Mmi1Hx1lYFAmHR5EWp0mwfrIGBWpder6Nas0DI/NOOEOyxyIAc5i6Qgba RXPQ== MIME-Version: 1.0 X-Received: by 10.107.168.146 with SMTP id e18mr108112046ioj.32.1426606949501; Tue, 17 Mar 2015 08:42:29 -0700 (PDT) Received: by 10.36.51.200 with HTTP; Tue, 17 Mar 2015 08:42:29 -0700 (PDT) In-Reply-To: References: Date: Tue, 17 Mar 2015 11:42:29 -0400 Message-ID: Subject: Re: Memory foot print on BSD 9.1 From: suresh gumpula To: "freebsd-hackers@freebsd.org" X-Mailman-Approved-At: Tue, 17 Mar 2015 16:22:15 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 15:42:30 -0000 Hi, Can somebody please give some inputs on how to further debug this issue ? On similar notes , when I looked at procstat -v , it does not show us the shared libraries resident usage . I have added a column to display the shared resident count. kern_proc.c: if (obj->shadow_count > 1) kve->kve_shared_resident =3D obj->resident_page_count; procstat_vm.c : if (kve->kve_private_resident || kve->kve_shared_resident) entry_total =3D(kve->kve_private_resident + kve->kve_shared_resident); else entry_total =3D kve->kve_resident; proc_total +=3D entry_total; shared_total +=3D kve->kve_shared_resident; private_total +=3D kve->kve_private_resident; mapped_total +=3D kve->kve_resident; printf("%8d ", kve->kve_shared_resident); printf("%8d ", entry_total); % sudo procstat -v `pgrep bash` PID START END PRT RES PRES SHRD TOTAL REF SHD FL TP PATH 3485 0x400000 0x4b0000 r-x 128 151 0 151 2 1 CN-- vn /usr/bin/bash 3485 0x6b0000 0x6b9000 rw- 9 0 0 9 1 0 C--- vn /usr/bin/bash 3485 0x6b9000 0x800000 rw- 5 0 0 5 1 0 C--- df 3485 0x8006b0000 0x8006c9000 r-x 25 0 0 25 38 0 CN-- vn /libexec/ld-elf.so.1 3485 0x8006c9000 0x8006ef000 rw- 26 0 0 26 1 0 CN-- df 3485 0x8008c8000 0x8008ca000 rw- 2 0 0 2 1 0 CN-- df 3485 0x8008ca000 0x800914000 r-x 40 0 79 79 6 3 CN-- vn /lib/libncurses.so.8 3485 0x800914000 0x800b14000 --- 0 0 0 0 1 0 CN-- df 3485 0x800b14000 0x800b19000 rw- 5 0 0 5 1 0 CN-- vn /lib/libncurses.so.8 3485 0x800b19000 0x800c71000 r-x 318 0 331 331 75 37 CN-- vn /lib/libc.so.7 3485 0x800c71000 0x800e71000 --- 0 0 0 0 1 0 CN-- df 3485 0x800e71000 0x800e7c000 rw- 11 0 0 11 1 0 CN-- vn /lib/libc.so.7 3485 0x800e7c000 0x800ee2000 rw- 9 0 0 9 1 0 CN-- df 3485 0x801000000 0x801200000 rw- 35 0 0 35 1 0 C--- df 3485 0x7ffffffdf000 0x7ffffffff000 rw- 5 0 0 5 1 0 C--D df 3485 0x7ffffffff000 0x800000000000 r-x 1 0 0 1 40 0 CN-- ph Totals(pages) 619 151 410 694 Can somebody pick up this change if it looks good ? Thanks Suresh On Fri, Mar 13, 2015 at 11:51 AM, suresh gumpula wrote: > Hello VM experts, > I am trying to figure out what has been changed from 8.1 to 9.1 which > results more memory footprint on all processes. looking at one of the big > processes we have on a idle machine, > its about 35M resident size increase. Looking at map entries by procstat > -v shows me that two libraries , one is our internal library(libmgwd) and > other one is boost consume more now. > There are no changes made with respect to process, just comparing after > the upgrade to 9.1. > > Is there any knows things with respect VM has been changed and could > result in more resident memory ? Can somebody please help on this to know > what exactly causing this behaviour ? > Details below. > > Thank you! > > > 8.1 > =E2=80=94 > % sudo procstat -v `pgrep mgwd` > PID START END PRT RES PRES REF SHD FL TP > PATH > > 2213 0x800a46000 0x807b41000 r-x 18209 22827 2 1 CN vn > /usr/lib/libmgwd.so.1 > 2213 0x807d40000 0x808a90000 rw- 3019 0 1 0 C- vn > /usr/lib/libmgwd.so.1 > > > 2213 0x833406000 0x833407000 rw- 1 0 1 0 CN vn > /usr/lib/libboost_atomic.so.1.56.0 > 2213 0x833600000 0x835600000 rw- 8134 0 1 0 C- df > 2213 0x835600000 0x835800000 rw- 20 0 1 0 -- df > 2213 0x7ffff6f99000 0x7ffff6fb9000 rw- 1 0 1 0 -- df > 2213 0x7ffff719a000 0x7ffff71ba000 rw- 1 0 1 0 -- df > 2213 0x7ffff739b000 0x7ffff73bb000 rw- 12 0 1 0 -- df > > > 9.1 > =E2=80=94=E2=80=94 > % sudo procstat -v `pgrep mgwd` > PID START END PRT RES PRES REF SHD FL TP > PATH > > 2158 0x800a1c000 0x807c87000 r-x 23328 26760 2 1 CN-- > vn /usr/lib/libmgwd.so.1 > 2158 0x807e87000 0x808bd4000 rw- 3283 0 1 0 C--- > vn /usr/lib/libmgwd.so.1 > > 2158 0x8336d7000 0x8336d8000 rw- 1 0 1 0 CN-- vn > /usr/lib/libboost_atomic.so.1.56.0 > 2158 0x8336d8000 0x8342cf000 rw- 2105 0 1 0 C-S- df > 2158 0x8342cf000 0x8342ea000 rw- 27 0 1 0 C--- df > 2158 0x8342ea000 0x8342f3000 rw- 7 0 1 0 ---- df > 2158 0x834400000 0x834600000 rw- 511 0 1 0 C--- df > 2158 0x834600000 0x836400000 rw- 7375 0 1 0 C--- df > 2158 0x836400000 0x836600000 rw- 228 0 1 0 ---- df > > BSD 8.1 > =3D=3D=3D=3D=3D=3D > last pid: 5116; load averages: 5.22, 4.29, 2.34 up 0+00:10:15 > 17:34:00 > 352 processes: 1 running, 350 sleeping, 1 zombie > CPU: 0.2% user, 0.0% nice, 4.5% system, 1.7% interrupt, 93.5% idle > Mem: 297M Active, 648M Inact, 139M Wired, 6948K Cache, 7520K Buf, 1862M > Free > Swap: 1536M Total, 1536M Free > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU > COMMAND > 2219 root 68 96 0 859M 226M ucond 1 0:24 0.00% mgw= d > > BSD 9.1 > =E2=80=94=E2=80=94=E2=80=94 > last pid: 5344; load averages: 5.17, 4.47, 2.79 up 0+00:26:12 > 17:22:57 > 39 processes: 1 running, 37 sleeping, 1 zombie > CPU: 0.2% user, 0.0% nice, 2.2% system, 0.6% interrupt, 97.0% idle > Mem: 338M Active, 669M Inact, 147M Wired, 392K Cache, 7488K Buf, 1799M Fr= ee > Swap: 1536M Total, 1536M Fre > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU > COMMAND > 2158 root 68 40 0 874M 262M uwait 1 0:23 0.00% mgw= d > > =3D=3D=3D=3D=3D=3D=3D=3D > > % ldd /usr/lib/libmgwd.so.1 > /usr/lib/libmgwd.so.1: > % ldd /usr/lib/libboost_atomic.so.1.56.0 > /usr/lib/libboost_atomic.so.1.56.0: > librt.so.1 =3D> /usr/lib/librt.so.1 (0x801002000) > libthr.so.3 =3D> /lib/libthr.so.3 (0x801207000) > > > ;;image size comparison on different builds shows TEXT size of a libray > went up by ~1.5M > > text data bss dec hex filename > 118484184 13956880 5724944 138166008 83c3ef8 > devN_150110_0500/mgmtgateway/bedrock/internal/x86_64/ulibso/libmgwd.so.1 > 119973051 13946008 5724944 139644003 852cc63 > devN_150110_1035/mgmtgateway/bedrock/internal/x86_64/ulibso/libmgwd.so.1 > > BSD 9.1 > =E2=80=94=E2=80=94 > % size /sbin/mgwd > text data bss dec hex filename > 2106422 42388 371584 2520394 26754a /sbin/mgwd > % size /usr/lib/libboost_atomic.so.1.56.0 > text data bss dec hex filename > 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.= 0 > > BSd 8.1 > =E2=80=94=E2=80=94=E2=80=94 > % size /sbin/mgwd > text data bss dec hex filename > 2091457 42364 371520 2505341 263a7d /sbin/mgwd > % size /usr/lib/libboost_atomic.so.1.56.0 > text data bss dec hex filename > 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.= 0 > From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 17:40:01 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DFFE9830 for ; Tue, 17 Mar 2015 17:40:01 +0000 (UTC) Received: from 4.mo69.mail-out.ovh.net (4.mo69.mail-out.ovh.net [46.105.42.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9FFABE89 for ; Tue, 17 Mar 2015 17:40:01 +0000 (UTC) Received: from mail97.ha.ovh.net (b9.ovh.net [213.186.33.59]) by mo69.mail-out.ovh.net (Postfix) with SMTP id D43C71000FCD for ; Tue, 17 Mar 2015 16:13:44 +0100 (CET) Received: from b0.ovh.net (HELO queueout) (213.186.33.50) by b0.ovh.net with SMTP; 17 Mar 2015 17:13:44 +0200 Received: from nor75-4-82-224-154-80.fbx.proxad.net (HELO localhost.localdomain) (max@M00nBSD.net@82.224.154.80) by ns0.ovh.net with SMTP; 17 Mar 2015 17:13:42 +0200 Message-ID: <550844A5.6090003@M00nBSD.net> Date: Tue, 17 Mar 2015 16:13:41 +0100 From: Maxime Villard MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Re: Brainy: Set of 17 potential bugs References: <54F1D602.6050108@M00nBSD.net> In-Reply-To: <54F1D602.6050108@M00nBSD.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 4946359766703738843 X-Ovh-Remote: 82.224.154.80 (nor75-4-82-224-154-80.fbx.proxad.net) X-Ovh-Local: 213.186.33.20 (ns0.ovh.net) X-OVH-SPAMSTATE: OK X-OVH-SPAMSCORE: 0 X-OVH-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeejledrjeegucetufdoteggodetrfcurfhrohhfihhlvgemucfqggfjnecuuegrihhlohhuthemuceftddtnecu X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeejledrjeegucetufdoteggodetrfcurfhrohhfihhlvgemucfqggfjnecuuegrihhlohhuthemuceftddtnecu X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 17:40:02 -0000 I have added two memory leaks in NFS: http://m00nbsd.net/59a47a86959c23b3f7c8bc495598dfde.html#Unsorted-1 Le 28/02/2015 15:51, Maxime Villard a écrit : > Hi, > I have been developing a C code scanner for a while, particularly good at > finding kernel bugs. I've scanned the FreeBSD tree partially, and among > the numerous results, I've put here a list of 17 bugs affecting the > FreeBSD-10 Stable kernel: > > http://m00nbsd.net/59a47a86959c23b3f7c8bc495598dfde.html > > Found by The Brainy Code Scanner. More information: max at m00nbsd dot net > > Regards, > Maxime Villard > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 18:10:43 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 49402CD1 for ; Tue, 17 Mar 2015 18:10:43 +0000 (UTC) Received: from mx144.netapp.com (mx144.netapp.com [216.240.21.25]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "mx144.netapp.com", Issuer "VeriSign Class 3 International Server CA - G3" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 189731E8 for ; Tue, 17 Mar 2015 18:10:42 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.11,417,1422950400"; d="scan'208,217";a="30251678" Received: from hioexcmbx03-prd.hq.netapp.com ([10.122.105.36]) by mx144-out.netapp.com with ESMTP; 17 Mar 2015 11:09:37 -0700 Received: from HIOEXCMBX03-PRD.hq.netapp.com (10.122.105.36) by hioexcmbx03-prd.hq.netapp.com (10.122.105.36) with Microsoft SMTP Server (TLS) id 15.0.995.29; Tue, 17 Mar 2015 11:09:36 -0700 Received: from HIOEXCMBX03-PRD.hq.netapp.com ([::1]) by hioexcmbx03-prd.hq.netapp.com ([fe80::4c9:7f9e:4b9f:2c9c%21]) with mapi id 15.00.0995.031; Tue, 17 Mar 2015 11:09:36 -0700 From: "Gumpula, Suresh" To: "freebsd-hackers@freebsd.org" Subject: Re: BSD 8.1 and 9.1 memory increase Thread-Topic: BSD 8.1 and 9.1 memory increase Thread-Index: AQHQYN1kO9bXTk+QcE+8E2hd8pdV+Z0hK5sA Date: Tue, 17 Mar 2015 18:09:35 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.4.7.141117 x-originating-ip: [10.122.56.79] MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 18:10:43 -0000 On similar notes , when I looked at procstat -v , it does not show us the = shared libraries resident usage . I have added a column to display the shared resident count. kern_proc.c: if (obj->shadow_count > 1) kve->kve_shared_resident =3D obj->resident_page_count; procstat_vm.c : if (kve->kve_private_resident || kve->kve_shared_resident) entry_total =3D(kve->kve_private_resident + kve->kv= e_shared_resident); else entry_total =3D kve->kve_resident; proc_total +=3D entry_total; shared_total +=3D kve->kve_shared_resident; private_total +=3D kve->kve_private_resident; mapped_total +=3D kve->kve_resident; printf("%8d ", kve->kve_shared_resident); printf("%8d ", entry_total); % sudo procstat -v `pgrep bash` PID START END PRT RES PRES SHRD = TOTAL REF SHD FL TP PATH 3485 0x400000 0x4b0000 r-x 128 151 0 = 151 2 1 CN-- vn /usr/bin/bash 3485 0x6b0000 0x6b9000 rw- 9 0 0 = 9 1 0 C--- vn /usr/bin/bash 3485 0x6b9000 0x800000 rw- 5 0 0 = 5 1 0 C--- df 3485 0x8006b0000 0x8006c9000 r-x 25 0 0 = 25 38 0 CN-- vn /libexec/ld-elf.so.1 3485 0x8006c9000 0x8006ef000 rw- 26 0 0 = 26 1 0 CN-- df 3485 0x8008c8000 0x8008ca000 rw- 2 0 0 = 2 1 0 CN-- df 3485 0x8008ca000 0x800914000 r-x 40 0 79 = 79 6 3 CN-- vn /lib/libncurses.so.8 3485 0x800914000 0x800b14000 --- 0 0 0 = 0 1 0 CN-- df 3485 0x800b14000 0x800b19000 rw- 5 0 0 = 5 1 0 CN-- vn /lib/libncurses.so.8 3485 0x800b19000 0x800c71000 r-x 318 0 331 = 331 75 37 CN-- vn /lib/libc.so.7 3485 0x800c71000 0x800e71000 --- 0 0 0 = 0 1 0 CN-- df 3485 0x800e71000 0x800e7c000 rw- 11 0 0 = 11 1 0 CN-- vn /lib/libc.so.7 3485 0x800e7c000 0x800ee2000 rw- 9 0 0 = 9 1 0 CN-- df 3485 0x801000000 0x801200000 rw- 35 0 0 = 35 1 0 C--- df 3485 0x7ffffffdf000 0x7ffffffff000 rw- 5 0 0 = 5 1 0 C--D df 3485 0x7ffffffff000 0x800000000000 r-x 1 0 0 = 1 40 0 CN-- ph Totals(pages) 619 151 410 = 694 Can somebody pick up this change if it looks good ? Thanks Suresh From: , suresh gumpula > Date: Tuesday, March 17, 2015 at 2:08 PM To: "freebsd-hackers@freebsd.org" > Subject: BSD 8.1 and 9.1 memory increase Hello VM experts, I am trying to figure out what has been changed from 8.1 to 9.1 which r= esults more memory footprint on all processes. looking at one of the big pr= ocesses we have on a idle machine, its about 35M resident size increase. Looking at map entries by procstat -= v shows me that two libraries , one is our internal library(libmgwd) and ot= her one is boost consume more now. There are no changes made with respect to process, just comparing after the= upgrade to 9.1. Are here any knows things with respect VM have been changed and could resul= t in more resident memory ? Can somebody please help on this to know what e= xactly causing this behaviour ? Details below. Thank you! 8.1 =97 % sudo procstat -v `pgrep mgwd` PID START END PRT RES PRES REF SHD FL TP P= ATH 2213 0x800a46000 0x807b41000 r-x 18209 22827 2 1 CN vn /= usr/lib/libmgwd.so.1 2213 0x807d40000 0x808a90000 rw- 3019 0 1 0 C- vn /= usr/lib/libmgwd.so.1 2213 0x833406000 0x833407000 rw- 1 0 1 0 CN vn /us= r/lib/libboost_atomic.so.1.56.0 2213 0x833600000 0x835600000 rw- 8134 0 1 0 C- df 2213 0x835600000 0x835800000 rw- 20 0 1 0 -- df 2213 0x7ffff6f99000 0x7ffff6fb9000 rw- 1 0 1 0 -- df 2213 0x7ffff719a000 0x7ffff71ba000 rw- 1 0 1 0 -- df 2213 0x7ffff739b000 0x7ffff73bb000 rw- 12 0 1 0 -- df 9.1 =97=97 % sudo procstat -v `pgrep mgwd` PID START END PRT RES PRES REF SHD FL TP P= ATH 2158 0x800a1c000 0x807c87000 r-x 23328 26760 2 1 CN-- vn= /usr/lib/libmgwd.so.1 2158 0x807e87000 0x808bd4000 rw- 3283 0 1 0 C--- vn= /usr/lib/libmgwd.so.1 2158 0x8336d7000 0x8336d8000 rw- 1 0 1 0 CN-- vn /= usr/lib/libboost_atomic.so.1.56.0 2158 0x8336d8000 0x8342cf000 rw- 2105 0 1 0 C-S- df 2158 0x8342cf000 0x8342ea000 rw- 27 0 1 0 C--- df 2158 0x8342ea000 0x8342f3000 rw- 7 0 1 0 ---- df 2158 0x834400000 0x834600000 rw- 511 0 1 0 C--- df 2158 0x834600000 0x836400000 rw- 7375 0 1 0 C--- df 2158 0x836400000 0x836600000 rw- 228 0 1 0 ---- df BSD 8.1 =3D=3D=3D=3D=3D=3D last pid: 5116; load averages: 5.22, 4.29, 2.34 up 0+00:10:15 17:3= 4:00 352 processes: 1 running, 350 sleeping, 1 zombie CPU: 0.2% user, 0.0% nice, 4.5% system, 1.7% interrupt, 93.5% idle Mem: 297M Active, 648M Inact, 139M Wired, 6948K Cache, 7520K Buf, 1862M Fre= e Swap: 1536M Total, 1536M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMA= ND 2219 root 68 96 0 859M 226M ucond 1 0:24 0.00% mgwd BSD 9.1 =97=97=97 last pid: 5344; load averages: 5.17, 4.47, 2.79 up 0+00:26:12 17:2= 2:57 39 processes: 1 running, 37 sleeping, 1 zombie CPU: 0.2% user, 0.0% nice, 2.2% system, 0.6% interrupt, 97.0% idle Mem: 338M Active, 669M Inact, 147M Wired, 392K Cache, 7488K Buf, 1799M Free Swap: 1536M Total, 1536M Fre PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMA= ND 2158 root 68 40 0 874M 262M uwait 1 0:23 0.00% mgwd =3D=3D=3D=3D=3D=3D=3D=3D % ldd /usr/lib/libmgwd.so.1 /usr/lib/libmgwd.so.1: % ldd /usr/lib/libboost_atomic.so.1.56.0 /usr/lib/libboost_atomic.so.1.56.0: librt.so.1 =3D> /usr/lib/librt.so.1 (0x801002000) libthr.so.3 =3D> /lib/libthr.so.3 (0x801207000) ;;image size comparison on different builds shows TEXT size of a libray wen= t up by ~1.5M text data bss dec hex filename 118484184 139568805724944 13816600883c3ef8 devN_150110_0500/mgmtgateway/bed= rock/internal/x86_64/ulibso/libmgwd.so.1 119973051 139460085724944 139644003852cc63 devN_150110_1035/mgmtgateway/bed= rock/internal/x86_64/ulibso/libmgwd.so.1 BSD 9.1 =97=97 % size /sbin/mgwd text data bss dec hex filename 2106422 42388 371584 2520394 26754a /sbin/mgwd % size /usr/lib/libboost_atomic.so.1.56.0 text data bss dec hex filename 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.0 BSd 8.1 =97=97=97 % size /sbin/mgwd text data bss dec hex filename 2091457 42364 371520 2505341 263a7d /sbin/mgwd % size /usr/lib/libboost_atomic.so.1.56.0 text data bss dec hex filename 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.0 Thanks Suresh From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 18:14:16 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E0174DF7 for ; Tue, 17 Mar 2015 18:14:16 +0000 (UTC) Received: from mx141.netapp.com (mx141.netapp.com [216.240.21.12]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "mx1.netapp.com", Issuer "VeriSign Class 3 Secure Server CA - G3" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B11D42CC for ; Tue, 17 Mar 2015 18:14:16 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.11,417,1422950400"; d="scan'208,217";a="30859984" Received: from hioexcmbx04-prd.hq.netapp.com ([10.122.105.37]) by mx141-out.netapp.com with ESMTP; 17 Mar 2015 11:08:39 -0700 Received: from HIOEXCMBX03-PRD.hq.netapp.com (10.122.105.36) by hioexcmbx04-prd.hq.netapp.com (10.122.105.37) with Microsoft SMTP Server (TLS) id 15.0.995.29; Tue, 17 Mar 2015 11:08:39 -0700 Received: from HIOEXCMBX03-PRD.hq.netapp.com ([::1]) by hioexcmbx03-prd.hq.netapp.com ([fe80::4c9:7f9e:4b9f:2c9c%21]) with mapi id 15.00.0995.031; Tue, 17 Mar 2015 11:08:39 -0700 From: "Gumpula, Suresh" To: "freebsd-hackers@freebsd.org" Subject: BSD 8.1 and 9.1 memory increase Thread-Topic: BSD 8.1 and 9.1 memory increase Thread-Index: AQHQYN1kO9bXTk+QcE+8E2hd8pdV+Q== Date: Tue, 17 Mar 2015 18:08:39 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.4.7.141117 x-originating-ip: [10.122.56.79] MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 18:14:17 -0000 Hello VM experts, I am trying to figure out what has been changed from 8.1 to 9.1 which r= esults more memory footprint on all processes. looking at one of the big pr= ocesses we have on a idle machine, its about 35M resident size increase. Looking at map entries by procstat -= v shows me that two libraries , one is our internal library(libmgwd) and ot= her one is boost consume more now. There are no changes made with respect to process, just comparing after the= upgrade to 9.1. Are here any knows things with respect VM have been changed and could resul= t in more resident memory ? Can somebody please help on this to know what e= xactly causing this behaviour ? Details below. Thank you! 8.1 =97 % sudo procstat -v `pgrep mgwd` PID START END PRT RES PRES REF SHD FL TP P= ATH 2213 0x800a46000 0x807b41000 r-x 18209 22827 2 1 CN vn /= usr/lib/libmgwd.so.1 2213 0x807d40000 0x808a90000 rw- 3019 0 1 0 C- vn /= usr/lib/libmgwd.so.1 2213 0x833406000 0x833407000 rw- 1 0 1 0 CN vn /us= r/lib/libboost_atomic.so.1.56.0 2213 0x833600000 0x835600000 rw- 8134 0 1 0 C- df 2213 0x835600000 0x835800000 rw- 20 0 1 0 -- df 2213 0x7ffff6f99000 0x7ffff6fb9000 rw- 1 0 1 0 -- df 2213 0x7ffff719a000 0x7ffff71ba000 rw- 1 0 1 0 -- df 2213 0x7ffff739b000 0x7ffff73bb000 rw- 12 0 1 0 -- df 9.1 =97=97 % sudo procstat -v `pgrep mgwd` PID START END PRT RES PRES REF SHD FL TP P= ATH 2158 0x800a1c000 0x807c87000 r-x 23328 26760 2 1 CN-- vn= /usr/lib/libmgwd.so.1 2158 0x807e87000 0x808bd4000 rw- 3283 0 1 0 C--- vn= /usr/lib/libmgwd.so.1 2158 0x8336d7000 0x8336d8000 rw- 1 0 1 0 CN-- vn /= usr/lib/libboost_atomic.so.1.56.0 2158 0x8336d8000 0x8342cf000 rw- 2105 0 1 0 C-S- df 2158 0x8342cf000 0x8342ea000 rw- 27 0 1 0 C--- df 2158 0x8342ea000 0x8342f3000 rw- 7 0 1 0 ---- df 2158 0x834400000 0x834600000 rw- 511 0 1 0 C--- df 2158 0x834600000 0x836400000 rw- 7375 0 1 0 C--- df 2158 0x836400000 0x836600000 rw- 228 0 1 0 ---- df BSD 8.1 =3D=3D=3D=3D=3D=3D last pid: 5116; load averages: 5.22, 4.29, 2.34 up 0+00:10:15 17:3= 4:00 352 processes: 1 running, 350 sleeping, 1 zombie CPU: 0.2% user, 0.0% nice, 4.5% system, 1.7% interrupt, 93.5% idle Mem: 297M Active, 648M Inact, 139M Wired, 6948K Cache, 7520K Buf, 1862M Fre= e Swap: 1536M Total, 1536M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMA= ND 2219 root 68 96 0 859M 226M ucond 1 0:24 0.00% mgwd BSD 9.1 =97=97=97 last pid: 5344; load averages: 5.17, 4.47, 2.79 up 0+00:26:12 17:2= 2:57 39 processes: 1 running, 37 sleeping, 1 zombie CPU: 0.2% user, 0.0% nice, 2.2% system, 0.6% interrupt, 97.0% idle Mem: 338M Active, 669M Inact, 147M Wired, 392K Cache, 7488K Buf, 1799M Free Swap: 1536M Total, 1536M Fre PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMA= ND 2158 root 68 40 0 874M 262M uwait 1 0:23 0.00% mgwd =3D=3D=3D=3D=3D=3D=3D=3D % ldd /usr/lib/libmgwd.so.1 /usr/lib/libmgwd.so.1: % ldd /usr/lib/libboost_atomic.so.1.56.0 /usr/lib/libboost_atomic.so.1.56.0: librt.so.1 =3D> /usr/lib/librt.so.1 (0x801002000) libthr.so.3 =3D> /lib/libthr.so.3 (0x801207000) ;;image size comparison on different builds shows TEXT size of a libray wen= t up by ~1.5M text data bss dec hex filename 118484184 13956880 5724944 138166008 83c3ef8 devN_150110_0500/mgmtgateway/b= edrock/internal/x86_64/ulibso/libmgwd.so.1 119973051 13946008 5724944 139644003 852cc63 devN_150110_1035/mgmtgateway/b= edrock/internal/x86_64/ulibso/libmgwd.so.1 BSD 9.1 =97=97 % size /sbin/mgwd text data bss dec hex filename 2106422 42388 371584 2520394 26754a /sbin/mgwd % size /usr/lib/libboost_atomic.so.1.56.0 text data bss dec hex filename 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.0 BSd 8.1 =97=97=97 % size /sbin/mgwd text data bss dec hex filename 2091457 42364 371520 2505341 263a7d /sbin/mgwd % size /usr/lib/libboost_atomic.so.1.56.0 text data bss dec hex filename 1309 264 2624 4197 1065 /usr/lib/libboost_atomic.so.1.56.0 Thanks Suresh From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 17 22:06:50 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 64C50691 for ; Tue, 17 Mar 2015 22:06:50 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0704227A for ; Tue, 17 Mar 2015 22:06:49 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2HM6iTU003747 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 18 Mar 2015 00:06:44 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2HM6iTU003747 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2HM6iDn003746; Wed, 18 Mar 2015 00:06:44 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 18 Mar 2015 00:06:44 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150317220644.GQ2379@kib.kiev.ua> References: <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> <20150316154022.GD2379@kib.kiev.ua> <55072195.40609@fuckner.net> <20150316185602.GJ2379@kib.kiev.ua> <5507E525.4000209@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5507E525.4000209@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 22:06:50 -0000 On Tue, Mar 17, 2015 at 09:26:13AM +0100, Michael Fuckner wrote: > >> > >> At least I figured out how to remove the empty Lines (Ctrl-a, shift-A). > >> Don't run minicom inside a screen ;-) > > I do not quite understand why such programs as minicom are needed at all. > > Isn't tip (AKA cu) good enough ? > OK, I'll test cu+tee for logging. Basicially I like cu, but logging with > minicom is quite easy > > > > Please add the following patch to the kernel. > > > > diff --git a/sys/x86/iommu/intel_gas.c b/sys/x86/iommu/intel_gas.c > > it looks like this with the gas patch. > > > http://dedi3.fuckner.net/~molli123/temp/head-ixgbe-gas.txt So machine booted, right ? Do network and non-nvme HBAs function correctly ? > > but when I do nvmecontrol devlist, I get a panic again > http://dedi3.fuckner.net/~molli123/temp/nvme.log I committed the hardening of some assert that supposedly could catch the situation earlier. Also I committed the boundary fix. Please update the head to at least r280196. Since there were conflicting changes to ixgbe, below is the re-merged patch to fix NULL dereference. diff --git a/sys/dev/ixgbe/ix_txrx.c b/sys/dev/ixgbe/ix_txrx.c index b16301d..79a5f92 100644 --- a/sys/dev/ixgbe/ix_txrx.c +++ b/sys/dev/ixgbe/ix_txrx.c @@ -1040,7 +1040,6 @@ ixgbe_txeof(struct tx_ring *txr) buf->map); m_freem(buf->m_head); buf->m_head = NULL; - buf->map = NULL; } buf->eop = NULL; ++txr->tx_avail; @@ -1066,7 +1065,6 @@ ixgbe_txeof(struct tx_ring *txr) buf->map); m_freem(buf->m_head); buf->m_head = NULL; - buf->map = NULL; } ++txr->tx_avail; buf->eop = NULL; @@ -1386,8 +1384,7 @@ ixgbe_allocate_receive_buffers(struct rx_ring *rxr) for (i = 0; i < rxr->num_desc; i++, rxbuf++) { rxbuf = &rxr->rx_buffers[i]; - error = bus_dmamap_create(rxr->ptag, - BUS_DMA_NOWAIT, &rxbuf->pmap); + error = bus_dmamap_create(rxr->ptag, 0, &rxbuf->pmap); if (error) { device_printf(dev, "Unable to create RX dma map\n"); goto fail; From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 08:17:38 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E9109270; Wed, 18 Mar 2015 08:17:38 +0000 (UTC) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A5595E7A; Wed, 18 Mar 2015 08:17:38 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id B8DBF1FE023; Wed, 18 Mar 2015 09:17:36 +0100 (CET) Message-ID: <550934CE.9030607@selasky.org> Date: Wed, 18 Mar 2015 09:18:22 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Gokul Krishna Subject: Re: GSoC 2015: USB-Front end driver References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> <550683AF.1010007@selasky.org> <550708B0.8010601@selasky.org> In-Reply-To: <550708B0.8010601@selasky.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 08:17:39 -0000 Hi, When you are ready you should register your proposal at: http://www.google-melange.com/gsoc/homepage/google/gsoc2015 You might want to send me a copy for review before doing that. --HPS From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 08:53:27 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2E1EA91B for ; Wed, 18 Mar 2015 08:53:27 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::6]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B1AA42FC for ; Wed, 18 Mar 2015 08:53:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426668785; l=828; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=1uw3fnXT+2vUjB4+KWDtDO9Ro0uVpp1UUrt7Dgq6yJg=; b=DpzqdfyFgrLFdWSMBhHydDU020PbPCGnW7dHKarqKdgGsl+Fe0m/oH1B3OlB9p0dJIQ aNlmfos+JVi5H91rfKghAkj0LHxmZMcEgV4TFM+TW+/xeRmVNiq+/dW55nkjolXzlQSDB jif2G28qFeiVzjVLpkXpfRtckdreW07xNI0= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgkO4q1xDEhkgOJDsXNs= X-RZG-CLASS-ID: mo00 Received: from fuckner.delnet ([85.183.0.195]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPA id f02626r2I8r24cY; Wed, 18 Mar 2015 09:53:02 +0100 (CET) Message-ID: <55093CED.4090604@fuckner.net> Date: Wed, 18 Mar 2015 09:53:01 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Steven Hartland , Ryan Stone Subject: Re: Server with 3TB Crashing at boot References: <550046F7.1050205@fuckner.net> <550093DD.5040603@freebsd.org> <55015D3B.6030605@fuckner.net> <5501DD57.7030305@freebsd.org> <5503234A.4060103@fuckner.net> <55032C1B.5030004@multiplay.co.uk> <5503405E.6050805@multiplay.co.uk> In-Reply-To: <5503405E.6050805@multiplay.co.uk> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 08:53:27 -0000 On 03/13/2015 08:54 PM, Steven Hartland wrote: > > On 13/03/2015 19:40, Ryan Stone wrote: >> On Fri, Mar 13, 2015 at 2:27 PM, Steven Hartland >> > wrote: >> >> Looks like that's panicing when allocating the zfs dbuf hash >> table, which by my calculation should be requesting 8GB for a 4TB >> physmem? >> >> >> Interesting observation. Michael, can you try booting with this patch >> applied? There is a bug in the kernel when we attempt to malloc() >> more than 4GB. >> >> https://people.freebsd.org/~rstone/patches/vm_64bit_malloc.diff >> >> > Nice catch Ryan, don't you just love integer overflows ;-) > could someone please push this patch to head- or are there any objections? From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 10:19:26 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8888FF86; Wed, 18 Mar 2015 10:19:26 +0000 (UTC) Received: from mail-lb0-x22f.google.com (mail-lb0-x22f.google.com [IPv6:2a00:1450:4010:c04::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 05EC2F23; Wed, 18 Mar 2015 10:19:26 +0000 (UTC) Received: by lbblx11 with SMTP id lx11so3821729lbb.3; Wed, 18 Mar 2015 03:19:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Z004UYGTgPARc4oKxSddnPFEDzLP2y/59lO6gSEN+ZE=; b=bT8s5szzv32WiuRHYl2sbIRoeEG/Ukr2hMziRGBDcCU2PxtTL4D4Q5QgD1rRS8j8ud PdHMy3sxUqjRONt1dERBWZSlHUuXB87eOk652bRVrFmGdcvXiudeWUfS4uQMKhdNcCGP q7TkGiYBUxhFvewphB4FPckaLElsAH1xY4MUN7KHux+fLZmMXisej5Fdah12K+dzwC1Z N3XVrzJgSxk8sWe1RLqcZckQj4IWTexP7ikU+Y6l1Q7E/J3EavAKYhIaC62viJKvQasS AM/5/4VPPBLHcVLTdwS5Xv3dwor17LIcVfsG/zDNeXsTrZOTgEobHXLKlEZ/TNYl4r9m IGOg== MIME-Version: 1.0 X-Received: by 10.152.10.209 with SMTP id k17mr33914075lab.50.1426673963420; Wed, 18 Mar 2015 03:19:23 -0700 (PDT) Received: by 10.112.157.136 with HTTP; Wed, 18 Mar 2015 03:19:23 -0700 (PDT) In-Reply-To: <550934CE.9030607@selasky.org> References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> <550683AF.1010007@selasky.org> <550708B0.8010601@selasky.org> <550934CE.9030607@selasky.org> Date: Wed, 18 Mar 2015 10:19:23 +0000 Message-ID: Subject: Re: GSoC 2015: USB-Front end driver From: Gokul Krishna To: Hans Petter Selasky Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 10:19:26 -0000 Hi Sure I will do that. I watched the video on USB stack on freeBSD and I could able understand those USB data transfer management constructs and other things explained . I also checked the vusb-analyser which is a Virtual USB Bus-analyser and understood certain debugging things that it gives information of data including device address from device descriptor and amount of data transfer from interface and endpoint (In and Out buffers) descriptors data structures . The aim of the project is to convert XEN USB device model( made with Linux requirement ) into something compatible with FreeBSD USB Stack. I also try to see things on para-virtualised XEN USB . I found the appropriate front-end driver source tree in slide number 7 in the below pdf link. http://www-archive.xenproject.org/files/xensummit_oracle09/PVUSB.pdf (please give your suggestions and comments and will i have access to see this code) I think i need to go through this particular source code to find my precise task So I will have more clarity in planning the list of milestone tasks for mid-term deliverables toll gate and final deliverables toll gates which i need to get reviewed from you before applying the proposal. I also need to discuss these things in skype thanks and regards Gokul On Wed, Mar 18, 2015 at 8:18 AM, Hans Petter Selasky wrote: > Hi, > > When you are ready you should register your proposal at: > > http://www.google-melange.com/gsoc/homepage/google/gsoc2015 > > You might want to send me a copy for review before doing that. > > --HPS > From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 10:24:01 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4FAF11A6; Wed, 18 Mar 2015 10:24:01 +0000 (UTC) Received: from mail.turbocat.net (heidi.turbocat.net [88.198.202.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 099FFFFC; Wed, 18 Mar 2015 10:24:00 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id A33A11FE023; Wed, 18 Mar 2015 11:23:58 +0100 (CET) Message-ID: <5509526C.8050000@selasky.org> Date: Wed, 18 Mar 2015 11:24:44 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Gokul Krishna Subject: Re: GSoC 2015: USB-Front end driver References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> <550683AF.1010007@selasky.org> <550708B0.8010601@selasky.org> <550934CE.9030607@selasky.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 10:24:01 -0000 Hi, On 03/18/15 11:19, Gokul Krishna wrote: > Hi > Sure I will do that. > I watched the video on USB stack on freeBSD and I could able understand > those USB data transfer management constructs and other things explained . > I also checked the vusb-analyser which is a Virtual USB Bus-analyser and > understood certain debugging things that it gives information of data > including device address from device descriptor and amount of data transfer > from interface and endpoint (In and Out buffers) descriptors data > structures . Another idea might be to implement a USB backend for Wireshark. It also can understand USB transactions! > > The aim of the project is to convert XEN USB device model( made with Linux > requirement ) into something compatible with FreeBSD USB Stack. Right! > > I also try to see things on para-virtualised XEN USB . I found the > appropriate front-end driver source tree in slide number 7 in the below pdf > link. > http://www-archive.xenproject.org/files/xensummit_oracle09/PVUSB.pdf > (please give your suggestions and comments and will i have access to see > this code) > I think i need to go through this particular source code to find my precise > task > > So I will have more clarity in planning the list of milestone tasks for > mid-term deliverables toll gate and final deliverables toll gates which i > need to get reviewed from you before applying the proposal. When you have something ready, just contact me off-list and I'll give it a review. --HPS From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 13:07:19 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4B06D2BE for ; Wed, 18 Mar 2015 13:07:19 +0000 (UTC) Received: from mail-ie0-x22b.google.com (mail-ie0-x22b.google.com [IPv6:2607:f8b0:4001:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 09B2275A for ; Wed, 18 Mar 2015 13:07:19 +0000 (UTC) Received: by ieclw3 with SMTP id lw3so37321038iec.2 for ; Wed, 18 Mar 2015 06:07:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=pDw1KB0c1Qu/qjI+lMZqnozj8e4QsHk7Ya4Plqaufi0=; b=nnSZwMN/qVcbCmRRfZxyw3ujUHutw6Lmn1xNgnsI/t1Juc8Unx5FGibmL2yanNdixR oDBLUyW80QHjTS1H1bM75VffMioAyS/EC3kV9WzpPyS92jRUWIPwGb5XWYhAh/n2m55c TZZcOnYk8VD9/k00o11WFVAbCboYsuXFbuSe97DD1gjTWOSFA7S0pWqGTceOIKR/4YOz V1PpSsiG5faFjTs8a5vhgZb2+byIF8bfImvtnm3HITGenIo4P9L2i+smI9jDBM3JEMZK dcgTt1WX8ncjAAKY8d23ve4zUEDFKWKsGXK+RPC2r16YkIvwUKNoVnIMb459N2lBJ/Nk U3Ug== MIME-Version: 1.0 X-Received: by 10.107.34.210 with SMTP id i201mr8579514ioi.1.1426684037999; Wed, 18 Mar 2015 06:07:17 -0700 (PDT) Received: by 10.107.156.75 with HTTP; Wed, 18 Mar 2015 06:07:17 -0700 (PDT) In-Reply-To: <55093CED.4090604@fuckner.net> References: <550046F7.1050205@fuckner.net> <550093DD.5040603@freebsd.org> <55015D3B.6030605@fuckner.net> <5501DD57.7030305@freebsd.org> <5503234A.4060103@fuckner.net> <55032C1B.5030004@multiplay.co.uk> <5503405E.6050805@multiplay.co.uk> <55093CED.4090604@fuckner.net> Date: Wed, 18 Mar 2015 09:07:17 -0400 Message-ID: Subject: Re: Server with 3TB Crashing at boot From: Ryan Stone To: Michael Fuckner Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "freebsd-hackers@freebsd.org" , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 13:07:19 -0000 On Wed, Mar 18, 2015 at 4:53 AM, Michael Fuckner wrote: > > could someone please push this patch to head- or are there any objections? > > I've been trying to figure out what needs to be done to make the patch MFC'able, but nobody has chimed in on my thread on -hackers. I'll get something committed by the end of the week. From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 13:38:31 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3F58AC63 for ; Wed, 18 Mar 2015 13:38:31 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::5]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C3FCFB83 for ; Wed, 18 Mar 2015 13:38:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426685887; l=872; s=domk; d=fuckner.net; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:CC:To:MIME-Version:From:Date; bh=9buMWA18kJfmd2QF0pc/oC2PFxXPNO6Ir8ekofVBEIQ=; b=tckXaebtZmIa9DIYzgq1B99Hf1pmsmf9EmCBTyI9EK96+YCoas5YmvcicQ8MscYMYJR UavfHLa/M5aw03XRUs/oECytQ+oATniTle24H6cR1c0rZJ0f3qFgx87WefGwnAqYvWKSW Glwo9XzVA7NbUJVYaWl/XqtWY6BMXSMEPN0= X-RZG-AUTH: :IWUHfUGtd9+6EujMWHx57N4dWae4bmTL/JIGbzkGUoozgkO4q1xDEhkgOJDsXNs= X-RZG-CLASS-ID: mo00 Received: from fuckner.delnet ([85.183.0.195]) by smtp.strato.de (RZmta 37.4 AUTH) with ESMTPA id g01611r2IDbx3ZL; Wed, 18 Mar 2015 14:37:59 +0100 (CET) Message-ID: <55097FB7.5080306@fuckner.net> Date: Wed, 18 Mar 2015 14:37:59 +0100 From: Michael Fuckner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Server with 3TB Crashing at boot References: <20150316091758.GY2379@kib.kiev.ua> <5506ADA4.8020207@fuckner.net> <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> <20150316154022.GD2379@kib.kiev.ua> <55072195.40609@fuckner.net> <20150316185602.GJ2379@kib.kiev.ua> <5507E525.4000209@fuckner.net> <20150317220644.GQ2379@kib.kiev.ua> In-Reply-To: <20150317220644.GQ2379@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 13:38:31 -0000 >> >> http://dedi3.fuckner.net/~molli123/temp/head-ixgbe-gas.txt > So machine booted, right ? > > Do network and non-nvme HBAs function correctly ? yes! http://dedi3.fuckner.net/~molli123/temp/head-nvme.log >> but when I do nvmecontrol devlist, I get a panic again >> http://dedi3.fuckner.net/~molli123/temp/nvme.log > > I committed the hardening of some assert that supposedly could catch > the situation earlier. Also I committed the boundary fix. > > Please update the head to at least r280196. Since there were conflicting > changes to ixgbe, below is the re-merged patch to fix NULL dereference. > > diff --git a/sys/dev/ixgbe/ix_txrx.c b/sys/dev/ixgbe/ix_txrx.c > index b16301d..79a5f92 100644 > --- a/sys/dev/ixgbe/ix_txrx.c done! nvmecontrol devlist is not crashing anymore. http://dedi3.fuckner.net/~molli123/temp/nvme-crash.log From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 14:58:32 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CF2B1DDE for ; Wed, 18 Mar 2015 14:58:32 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3CAEF7AF for ; Wed, 18 Mar 2015 14:58:32 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2IEwQiv047642 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 18 Mar 2015 16:58:26 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2IEwQiv047642 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2IEwQFW047641; Wed, 18 Mar 2015 16:58:26 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 18 Mar 2015 16:58:26 +0200 From: Konstantin Belousov To: Michael Fuckner Subject: Re: Server with 3TB Crashing at boot Message-ID: <20150318145826.GU2379@kib.kiev.ua> References: <20150316103140.GA2379@kib.kiev.ua> <5506B23F.20400@fuckner.net> <20150316105301.GB2379@kib.kiev.ua> <5506E8D6.30703@fuckner.net> <20150316154022.GD2379@kib.kiev.ua> <55072195.40609@fuckner.net> <20150316185602.GJ2379@kib.kiev.ua> <5507E525.4000209@fuckner.net> <20150317220644.GQ2379@kib.kiev.ua> <55097FB7.5080306@fuckner.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55097FB7.5080306@fuckner.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "freebsd-hackers@freebsd.org" , Ryan Stone , Steven Hartland X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 14:58:32 -0000 On Wed, Mar 18, 2015 at 02:37:59PM +0100, Michael Fuckner wrote: > > >> > >> http://dedi3.fuckner.net/~molli123/temp/head-ixgbe-gas.txt > > So machine booted, right ? > > > > Do network and non-nvme HBAs function correctly ? > yes! > > http://dedi3.fuckner.net/~molli123/temp/head-nvme.log The faults reported for NVMe devices are writes to the bus address zero. I am not sure what is it, the reason could be bug in the DMAR code, bug in the NVMe driver, or even a hardware issue (I listed this in order from more likely to less likely). I will try to find a machine with ix and nvme to do some debugging. From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 15:27:44 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B2BA6530 for ; Wed, 18 Mar 2015 15:27:44 +0000 (UTC) Received: from mail-ig0-x233.google.com (mail-ig0-x233.google.com [IPv6:2607:f8b0:4001:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7CF43B72 for ; Wed, 18 Mar 2015 15:27:44 +0000 (UTC) Received: by igbue6 with SMTP id ue6so47335797igb.1 for ; Wed, 18 Mar 2015 08:27:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=XRlKc4PVpXl93ihQzLwXyXFaxgFcXBEOd19C2LXz31A=; b=trOq0faLRPDNeydKwPjnzGC72tn0V5GSIHqIbvaaqH8SWZCtBhGEy6knU+7ec4O5Gz vZLr7gQkqgvYexOgdH0l92+coUtBXSsTjPxcwjM+wT+ieHkafunzxVYgLFcn5GloN+Nn IFrgFpf7KW/3q5eespjudtgZSqF0DJyH8kcUrovgmD9NjVmEadibQv90BGFiKBmEfR1S XSWqTSg1UGq/nB0Csd8OXk36U7bYzOWtbfhZzho84vvMZR38a4ZTGGuDTv2mEtqPbfVf XkO9vt/OVk3L2FxdUrPdZ44oJuxbE1BHEPMUnmxPll8hf5pdTVtK+QzupMkTbowsXX8b wiew== MIME-Version: 1.0 X-Received: by 10.107.132.13 with SMTP id g13mr96382598iod.4.1426692464019; Wed, 18 Mar 2015 08:27:44 -0700 (PDT) Received: by 10.36.30.75 with HTTP; Wed, 18 Mar 2015 08:27:43 -0700 (PDT) Date: Wed, 18 Mar 2015 20:57:43 +0530 Message-ID: Subject: GSoC 15 - ZFS Boot Environment menu for GPT/EFI boot From: Prasad Joshi To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 15:27:44 -0000 Hello, I am Prasad Joshi from India. I am planing to apply for GSoC 15, I found idea 'ZFS Boot Environment menu for GPT/EFI boot'. (https://wiki.freebsd.org/IdeasPage#ZFS_Boot_Environment_menu_for_GPT.2FEFI_boot) Last year I participated in GSoC, wherein I worked on OSv to add Symlink support. Here is the link to my project https://www.google-melange.com/gsoc/project/details/google/gsoc2014/prasadjoshi/5741031244955648. During the project I worked on enabling ZFS symlink support. I added various related system calls like stat, lstat etc. I too had to modify name lookup (namei) to take care of symbolic links. It involved changing other system calls like open, rename, unlink (basically anything that touches file). However, my commits in OSv did not limit to symlink support - I also worked on adding eventfd, fixing zfs import/export/unmount functionality, and adding support for few smaller system or glibc calls. Here is the link for my commits which are accepted in OSv https://github.com/cloudius-systems/osv/commits?author=prasad-joshi I have also worked on KVM Tools project few years back, wherein I added QCOW1/2 support in KVM Tools. Here is link of KVM Tools announcement http://lwn.net/Articles/447556/ I have also contributed few patches in QEMU, Illumos, and Linux Kernel. In 2008-2010, I worked with company called KQInfotech, as a developer for porting ZFS to Linux (http://en.wikipedia.org/wiki/ZFS#KQ_InfoTech). Though I haven't worked on FreeBSD or PCBSD before, I am confident that, I would be able to get up to speed in very short period of time. At the moment, I am in process of understanding FreeBSD BE and preparing a formal proposal for GSoC 15. I wish to find a mentor for this project. I will look forward to reply. Thanks and Regards, Prasad From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 18:50:21 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D7C10908 for ; Wed, 18 Mar 2015 18:50:21 +0000 (UTC) Received: from mail-we0-x22f.google.com (mail-we0-x22f.google.com [IPv6:2a00:1450:400c:c03::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6C6868B2 for ; Wed, 18 Mar 2015 18:50:21 +0000 (UTC) Received: by webcq43 with SMTP id cq43so39611314web.2 for ; Wed, 18 Mar 2015 11:50:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=iodLs5nOm16PsK+7R18rGS/TJBmQ4iu3Gz4fNJTMDTI=; b=JEI/Xy3vLd5P1T25Gua3TNkyXPevynynyUUQB36JEildZwtdJUiAlRH+jYFjTDlt/M UzZ/ClQjQCq00j+xsil3BFrMX5hzjAPnn6GSqzWNrwZXqisoFwKZ0g2PPhy/om3V8AiG plVmb12udTx/6A5v1mmmOzdF41PcpAchGwjeny4pZwdae+FfLg2gEzwH/UCkSqHdpb4d wpidUDQOSm5n7o3kVnpkE49hPhXX4rG0Bx+Y9OMgk1qZr96gl+15T1+8RTqL1e4FsYYd bDq+c6H9Ls65mRKeInrEz/qIunKxzVhiLo/HT6PBJKmtBcxaA+wjv/V4uvKr9O+Yk+D0 sJLA== MIME-Version: 1.0 X-Received: by 10.194.80.40 with SMTP id o8mr142013317wjx.34.1426704619877; Wed, 18 Mar 2015 11:50:19 -0700 (PDT) Received: by 10.194.18.37 with HTTP; Wed, 18 Mar 2015 11:50:19 -0700 (PDT) Date: Wed, 18 Mar 2015 15:50:19 -0300 Message-ID: Subject: GELI support on /boot folder From: Pedro Arthur To: "" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2015 18:50:21 -0000 Hi, I was discussing with Kris Moore about adding support for GELI in bootloader as a GSoC project, thus the /boot folder could be encrypted. However the stage 2 boot program has a limit size of ~8 Kb which is almost reached in the default HEAD src. Thus I would like to know your thoughts about this project, if it is viable, and what can be done to overcome these 8 Kb limit. Thanks, Pedro. From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 00:54:01 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3AAA495D; Thu, 19 Mar 2015 00:54:01 +0000 (UTC) Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [IPv6:2a00:1450:400c:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BFE1E8EE; Thu, 19 Mar 2015 00:54:00 +0000 (UTC) Received: by wifj2 with SMTP id j2so54695376wif.1; Wed, 18 Mar 2015 17:53:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=jhyAmVLDj9OzZ0IEuGPE0DkwATQP4XDeQhC0WwilE64=; b=QCe1uXnJ7fyvnNdaKvr6pk1w/hUjG6m5Y3B7tAfpMlsilpy4P1o6vH37b9E2YT2VVw +HvgOrkVbMPQJ2YQAECnpUs/c+TOHy8qH4Z45Kj0gCz7DuqE9jH0cAl+uzMWFHuZlnjN U/1TOLCuZ+TP8kKN6/VBdJVuoGo26AmzhAUAC30/i/6WCuxG6xpkc8kJeNOmrHf4G1Wx vdU825lBRexd91BoRgzbFANSBoSqltH9NIYDc3LSBLAEJ2pSDjbHAoKx9PbD65x7XIqF mhTG/P/smoY3LnWqi6UWbJCPuYiYewaKeybEjyB9lbqE4aMN66xSyRf91/kCLBSCiT1F TNbQ== MIME-Version: 1.0 X-Received: by 10.180.74.230 with SMTP id x6mr11688723wiv.58.1426726439277; Wed, 18 Mar 2015 17:53:59 -0700 (PDT) Received: by 10.28.98.70 with HTTP; Wed, 18 Mar 2015 17:53:59 -0700 (PDT) Date: Thu, 19 Mar 2015 08:53:59 +0800 Message-ID: Subject: Self introduciton of Hao Sun and thoughts on LibNetstat From: Hao Sun To: rwatson@freebsd.org, pgj@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 00:54:01 -0000 Hi Robert and G=C3=A1bor, This is Hao Sun, a third year graduate student of Peking University, China. Nice to e-meet you here! I saw the project introduction of LibNetstat on FreeBSD=E2=80=99s GSoC 15=E2=80=99 homepage and was attracted by the projec= t. I=E2=80=99d like to introduce myself to you and other buddies in the community. Meanwhile, after some initial investigation on the project, I draw up a rough plan and eager to get suggestion and guidance from you. As mentioned above, I=E2=80=99m a third year graduate student, and my major= is computer science. I=E2=80=99ll graduate in July this year and start to work= in Facebook in October. The bad news is this would be my last year to have the opportunity to take part in the GSoC, while the good news is I=E2=80=99ll h= ave a long summer holiday (~3 months) this year! Therefore I could guarantee enough time to be engaged in the project this summer. Up to now I have 4 internship experiences respectively in Microsoft (twice), Adobe and Multicoreware, however this is the first time that I joined an open source community. This is also why I plan to apply for the projects of GSoC. I eager to have intuitive feelings of open source culture and to share my ideas and write codes with you talented programmers. I think the LibNetstat would be fitful for me because I have related rich project experiences on C, namely the FontDesigner project in the lab, the face recognition plugin in Muticoreware and other course projects. Also I'm familar with network programming (took several related courses, e.g. computer networks, network programming, network protocols analysis, information security, etc.) and took part in several projects related to network programming. I read the project description carefully and have done the following jobs since the monitoring organisations were published. 1. Setup the FreeBSD virtual machine and the dev environment under the guidance of https://wiki.freebsd.org/SummerOfCodeDevEnvironments. 2. Read the Wiki Page of our project and get familar with what we have done up to now. 3. Review the netstat(1), kvm(3), sysctl(3) and bsnmpd(1) interfaces in order to get more details about our project requirements. I'd like to dive into more details for the next step and my plan (some of the steps may need your help :-) ) is as follows. 1. Check out the code from //depot/projects/soc2009/pgj_libstat/. As the p4 introduction article shows, maybe I need a FreeBSD.org account to get access into our depot. Thus would you please offer helps to create an account? 2. I plan to run some demo codes to have an insight into the current version of LibNetstat. Do we have demo codes or test cases which could help me get familir with the code? 3. After Step #2, I want to read some existing modules, for instance, routing abstractions. I believe this step would help me get clear how to make the original interface less ABI-sensitive. So do you have any suggestions where to start this step? Thanks a lot for your help and looking forward to your reply. Have a nice day! Thanks, Hao From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 01:07:57 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A09ABD11 for ; Thu, 19 Mar 2015 01:07:57 +0000 (UTC) Received: from ustc.edu.cn (email6.ustc.edu.cn [IPv6:2001:da8:d800::8]) by mx1.freebsd.org (Postfix) with ESMTP id EA194A41 for ; Thu, 19 Mar 2015 01:07:56 +0000 (UTC) Received: from freebsd.my.domain (unknown [58.211.218.74]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygBXORY3IQpV3n2vAw--.48436S2; Thu, 19 Mar 2015 09:07:07 +0800 (CST) From: Tiwei Bie To: freebsd-hackers@freebsd.org Subject: GSoC 2015 - Multiqueue BPF support and other BPF features Date: Thu, 19 Mar 2015 09:06:43 +0800 Message-Id: <1426727203-99838-1-git-send-email-btw@mail.ustc.edu.cn> X-Mailer: git-send-email 2.3.1 X-CM-TRANSID: LkAmygBXORY3IQpV3n2vAw--.48436S2 X-Coremail-Antispam: 1UD129KBjvdXoW7Gr4kWFWkAry3ArWfKFW5Awb_yoWfuFX_C3 yrtF9xtw4UArW3WrsxWr43J398WrW5WFyvkr48XF1a9w18Zr95AFWxurWUAr1xG3yrX3W7 CF9Ivw1Yya17WjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb2kYjsxI4VWDJwAYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I 6I8E6xAIw20EY4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM2 8CjxkF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0 cI8IcVCY1x0267AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwV C2z280aVCY1x0267AKxVWxJr0_GcWle2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xv F2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jrv_JF1lYx0Ex4A2jsIE14v26r1j6r 4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCY02Avz4vE14v_KwCF04k2 0xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI 8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jr0_JrylIxkGc2Ij64vIr41l IxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIx AIcVCF04k26cxKx2IYs7xG6rWUJVWrZr1UMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvE x4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8go7tUUUUU== X-CM-SenderInfo: xewzqzxdloh3xvwfhvlgxou0/1tbiAQUNAVQhl-laAgAAsL X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 01:07:57 -0000 Hello, everyone! I am a graduate student from the University of Science and Technology of China. I'm pretty interested in the project of Multiqueue BPF support and other BPF features [1]. My major is computer science and technology. My research area is networking and parallelization. I'm currently working on paralleling the userspace network stack based on libuinet [2][3] and netmap(4) in FreeBSD. So I have the confidence to finish this task. I have already written a proposal with technical detail. Before submitting it to the GSoC website, I'm looking forward to your valuable suggestions. Any comments would be gratefully appreciated. Thank you very much! [1] https://wiki.freebsd.org/SummerOfCodeIdeas#Multiqueue_BPF_support_and_other_BPF_features [2] http://www.bsdcan.org/2014/schedule/track/Hacking/447.en.html [3] https://github.com/pkelsey/libuinet Thanks and regards, Tiwei Bie From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 01:32:32 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A03B7B5 for ; Thu, 19 Mar 2015 01:32:32 +0000 (UTC) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "gold.funkthat.com", Issuer "gold.funkthat.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 7A6FDCF9 for ; Thu, 19 Mar 2015 01:32:32 +0000 (UTC) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.14.5/8.14.5) with ESMTP id t2J1WVuP056430 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 18 Mar 2015 18:32:31 -0700 (PDT) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.14.5/8.14.5/Submit) id t2J1WVRw056429; Wed, 18 Mar 2015 18:32:31 -0700 (PDT) (envelope-from jmg) Date: Wed, 18 Mar 2015 18:32:31 -0700 From: John-Mark Gurney To: Pedro Arthur Subject: Re: GELI support on /boot folder Message-ID: <20150319013231.GR51048@funkthat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 9.1-PRERELEASE amd64 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (gold.funkthat.com [127.0.0.1]); Wed, 18 Mar 2015 18:32:31 -0700 (PDT) Cc: "" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 01:32:32 -0000 Pedro Arthur wrote this message on Wed, Mar 18, 2015 at 15:50 -0300: > I was discussing with Kris Moore about adding support for GELI in > bootloader as a GSoC project, > thus the /boot folder could be encrypted. > However the stage 2 boot program has a limit size of ~8 Kb which is almost > reached in the default > HEAD src. > Thus I would like to know your thoughts about this project, if it is > viable, and what can be done to > overcome these 8 Kb limit. One option is to not support MBR and only support GPT for this... w/ GPT we do not have the 8k limitation (and actually the limit is 7.5k as .5k has historically been used for MBR boot code/partition table in the dangerously dedicated mode)... If we go thise route, I'd ask why we don't put loader into the gptboot instead of using the existing shim to load loader... Then the project would be to add GELI decryption to loader which could then be used w/ MBR in the limited sense of loading kernel and modules, though boot/loader would still have to be on an unencrypted partition... I hope others who know the boot process better will inform us why this is a good or bad idea... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 06:33:10 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9A245656 for ; Thu, 19 Mar 2015 06:33:10 +0000 (UTC) Received: from mail-wi0-x235.google.com (mail-wi0-x235.google.com [IPv6:2a00:1450:400c:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4814ED49 for ; Thu, 19 Mar 2015 06:33:10 +0000 (UTC) Received: by wibdy8 with SMTP id dy8so108913388wib.0 for ; Wed, 18 Mar 2015 23:33:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=ROeL5xwCNFw5X9ppxqQeFDZOPKeekTI7o/3+MQbGAjM=; b=RI7rwaQvE3dJ6N1wRbkAVTQVOAyjzOIQySoJ9i5kDjF9lQhced+mk5rkhoARqK6GrT 06lig+RpzkpWRNII8hJPXiConeSqeuqcQ+3jYtIB5WKZJ6LUYKnzLMNXWIb5KqOWFi1d axh1kGTJrMVbBhpvcat9culUtSfcAqV/freIRFF4PrU7nbFmO2OzG+3ZPYkyqaKBJbuM ppMmKxF22HI+iN2Vb+lMrdwqa/O09wqhVkG6tS5BDySt/z5vXq+fJlswq326+2kJSuUu 5XIyircaRUIUzuVNpmQVvjCeYSxxwJjeHNA7D17Zj5fcPGOoRkQAJjPd08CZ2jGIMbBH i93A== X-Received: by 10.180.98.131 with SMTP id ei3mr13236118wib.62.1426746788529; Wed, 18 Mar 2015 23:33:08 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id lu13sm1094701wic.10.2015.03.18.23.33.07 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 18 Mar 2015 23:33:07 -0700 (PDT) Message-ID: <550A6DA2.1070004@gmail.com> Date: Thu, 19 Mar 2015 07:33:06 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: freebsd-hackers@FreeBSD.org Subject: kevent behavior Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 06:33:10 -0000 Hi guys, Is there defined (and guaranteed) behavior of kevent if kqueue FD is being closed while blocking kevent call is in progress? Possible scenario would be like this: Thread 1: ... kfd = kqueue(); ... // create second thread afterwords // and do blocking wait for events result = kevent(kfd, changelist, nchanges, eventlist, nevents, NULL); if (result == -1) // check if there was request to stop listening for events Thread 2: // do something // then close kqueue's fd close(kfd); I am asking this because file watcher implementation for mono is implemented that way (which I find nicer than using timeout), but this is apparently based on expected kevent behavior under Darwin, and I can't find any mention that in FreeBSD kevent is going to behave the same way (at least not on kqueue(2) manual page) Kind regards, Ivan From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 07:14:16 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 52986A36 for ; Thu, 19 Mar 2015 07:14:16 +0000 (UTC) Received: from ustc.edu.cn (email6.ustc.edu.cn [IPv6:2001:da8:d800::8]) by mx1.freebsd.org (Postfix) with ESMTP id 8A2C0E9 for ; Thu, 19 Mar 2015 07:14:14 +0000 (UTC) Received: from freebsd.my.domain (unknown [58.211.218.74]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygCniBU0dwpV82KxAw--.41360S2; Thu, 19 Mar 2015 15:14:08 +0800 (CST) From: Tiwei Bie To: mjguzik@gmail.com Subject: [PATCH] Finish the task 'Fix corefilename race' Date: Thu, 19 Mar 2015 15:13:43 +0800 Message-Id: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> X-Mailer: git-send-email 2.3.1 X-CM-TRANSID: LkAmygCniBU0dwpV82KxAw--.41360S2 X-Coremail-Antispam: 1UD129KBjvJXoW7Cr1kXr4fKrWDuw13WrWfXwb_yoW8Cw1DpF 4Fk34rArs3CF43CF1fZFW5CF1Yy348tr4UW3sxXF4Ykr1Fqry8XF1rtryFqF1kWrn2gr98 Ja15Xr9xKrWjq3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkIb7Iv0xC_KF4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC 0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Cr0_Gr 1UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCY02Avz4vE14v_GF4l42xK 82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGw C20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48J MIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMI IF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvE x4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8VT5PUUUUU== X-CM-SenderInfo: xewzqzxdloh3xvwfhvlgxou0/1tbiAQUNAVQhl-l6PQACsW Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 07:14:16 -0000 Hi, Mateusz! I have finished the task: Fix corefilename race [1]. Following is my patch: --- sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 58d9707..a1421cb 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; #endif static char corefilename[MAXPATHLEN] = {"%N.core"}; -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, - sizeof(corefilename), "Process corefile name format string"); + +static struct sx corefilename_lock; +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); + +static int +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) +{ + int error; + + sx_xlock(&corefilename_lock); + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); + sx_xunlock(&corefilename_lock); + + return (error); +} +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", + "Process corefile name format string"); /* * corefile_open(comm, uid, pid, td, compress, vpp, namep) @@ -3120,6 +3136,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); indexpos = -1; (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); + sx_slock(&corefilename_lock); for (i = 0; format[i] != '\0'; i++) { switch (format[i]) { case '%': /* Format character */ @@ -3162,6 +3179,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, break; } } + sx_sunlock(&corefilename_lock); free(hostname, M_TEMP); if (compress) sbuf_printf(&sb, GZ_SUFFIX); -- 2.1.2 [1] https://wiki.freebsd.org/JuniorJobs#Fix_corefilename_race Best regards, Tiwei Bie From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 08:48:34 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 635C1ACC for ; Thu, 19 Mar 2015 08:48:34 +0000 (UTC) Received: from mail.freebsd.systems (mail.freebsd.systems [IPv6:2001:41d0:2:1276::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1DD64D3D for ; Thu, 19 Mar 2015 08:48:33 +0000 (UTC) Received: from mail.freebsd.systems (mail.freebsd.systems [IPv6:2001:41d0:2:1276::1]) by mail.freebsd.systems (Postfix) with ESMTP id CFC327D1 for ; Thu, 19 Mar 2015 09:48:31 +0100 (CET) X-Virus-Scanned: amavisd-new at freebsd.systems Received: from mail.freebsd.systems ([IPv6:2001:41d0:2:1276::1]) by mail.freebsd.systems (scan.freebsd.systems [IPv6:2001:41d0:2:1276::1]) (amavisd-new, port 10026) with ESMTP id z0Tjq0mMZfAg for ; Thu, 19 Mar 2015 09:48:31 +0100 (CET) Received: from [192.168.138.100] (unknown [194.181.86.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.freebsd.systems (Postfix) with ESMTPSA id 668BF7CE for ; Thu, 19 Mar 2015 09:48:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wasikowski.net; s=default; t=1426754911; bh=U2dqckqH0qGKfxgI0p7mz4pJK4iGugt1RpCZg+1p06o=; h=Date:From:To; b=waIs/8qyGoDwsjorAihoc1zeED1c+p7MfWacj74y3mguRwRwlQ//xiIDxmkJ0/UTT V/ZNcDyVK9YtSYf8kpiAvQ5H93U9EuaoBzBihDdQGxBb8UAEVLxGG9AwVSwT//uOAw MPKUIlMuXiLLIHgYp0rXbVMeAjtlCimGxIu8VSzbD+1HLRUI+g811tXbgT7G7MQOa7 41zuxt607qww0bNGURl9933avvuendwHQrA7ijNQW/55sbtnBkwgvWps58u44W4r7t RIBVQnbWRAam2zkzWewBFHfNalY2s6deZvPalhrzxbXRbaBoXdk9770t1nnMxqmJb6 nPg8the6k+PGw== Message-ID: <550A8D5C.3020404@wasikowski.net> Date: Thu, 19 Mar 2015 09:48:28 +0100 From: =?UTF-8?B?xYF1a2FzeiBXxIVzaWtvd3NraQ==?= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Postfix / OpenSSL signal 11 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 08:48:34 -0000 Hi, I'm getting segfaults from postfix smtpd. The same postfix configuration worked fine on FreeBSD 9.3 i386, on fresh FreeBSD 10.1 amd64 it's segfaulting. # uname -a FreeBSD mail.freebsd.systems 10.1-RELEASE-p6 FreeBSD 10.1-RELEASE-p6 #0 r279867: Tue Mar 10 23:26:11 UTC 2015 root@vesper.freebsd.systems:/usr/obj/usr/src/sys/vesper amd64 postfix-2.11.4,1 with DOVECOT2, MYSQL, PCRE and TLS. openssl-1.0.1_18 with ASM, EC, MD2, SCTP, SHARED, SSE2, THREADS and ZLIB segfault is always during delivery attempt from ebay (and only from them): Mar 19 00:10:08 mail postfix/smtpd[58326]: connect from mxslcpool35.ebay.com[66.135.215.101] Mar 19 00:10:09 mail postfix/master[86442]: warning: process /usr/local/libexec/postfix/smtpd pid 58326 killed by signal 11 Mar 19 00:10:09 mail postfix/master[86442]: warning: /usr/local/libexec/postfix/smtpd: bad command startup -- throttling Turning off TLS in postfix fixes delivery, no segfault. backtrace: http://pastebin.com/jDaJrqty Is it postfix or openssl issue? -- best regards, Lukasz Wasikowski From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 10:01:57 2015 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 11071D0C for ; Thu, 19 Mar 2015 10:01:57 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7621F7DD for ; Thu, 19 Mar 2015 10:01:56 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2JA1pPm061433 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 19 Mar 2015 12:01:51 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2JA1pPm061433 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2JA1pFX061432; Thu, 19 Mar 2015 12:01:51 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 19 Mar 2015 12:01:51 +0200 From: Konstantin Belousov To: Ivan Radovanovic Subject: Re: kevent behavior Message-ID: <20150319100151.GY2379@kib.kiev.ua> References: <550A6DA2.1070004@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <550A6DA2.1070004@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: freebsd-hackers@FreeBSD.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 10:01:57 -0000 On Thu, Mar 19, 2015 at 07:33:06AM +0100, Ivan Radovanovic wrote: > Hi guys, > > Is there defined (and guaranteed) behavior of kevent if kqueue FD is > being closed while blocking kevent call is in progress? > > Possible scenario would be like this: > > Thread 1: > ... > kfd = kqueue(); > ... > // create second thread afterwords > // and do blocking wait for events > result = kevent(kfd, changelist, nchanges, eventlist, nevents, NULL); > if (result == -1) > // check if there was request to stop listening for events > > > Thread 2: > // do something > // then close kqueue's fd > close(kfd); > > > I am asking this because file watcher implementation for mono is > implemented that way (which I find nicer than using timeout), but this > is apparently based on expected kevent behavior under Darwin, and I > can't find any mention that in FreeBSD kevent is going to behave the > same way (at least not on kqueue(2) manual page) The only special action taken by kqueue subsystem when a file descriptor becomes invalid due to close, is the removal of all registered events which reference the closing file descriptor. And, to prevent kqueue code from stepping on its own toes, the close() call is put into uninterruptible sleep with the "kqclose" wait channel until all currently active kevent(2) calls release the references. From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 10:10:30 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 849DEEE2 for ; Thu, 19 Mar 2015 10:10:30 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0EEA885C for ; Thu, 19 Mar 2015 10:10:29 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2JAAKFh062898 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 19 Mar 2015 12:10:20 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2JAAKFh062898 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2JAAJKK062891; Thu, 19 Mar 2015 12:10:19 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 19 Mar 2015 12:10:19 +0200 From: Konstantin Belousov To: Tiwei Bie Subject: Re: [PATCH] Finish the task 'Fix corefilename race' Message-ID: <20150319101019.GZ2379@kib.kiev.ua> References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: freebsd-hackers@freebsd.org, mjguzik@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 10:10:30 -0000 On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: > Hi, Mateusz! > > I have finished the task: Fix corefilename race [1]. > > Following is my patch: > > --- > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- > 1 file changed, 20 insertions(+), 2 deletions(-) > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > index 58d9707..a1421cb 100644 > --- a/sys/kern/kern_sig.c > +++ b/sys/kern/kern_sig.c > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; > #endif > > static char corefilename[MAXPATHLEN] = {"%N.core"}; > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > - sizeof(corefilename), "Process corefile name format string"); > + > +static struct sx corefilename_lock; > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); > + > +static int > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > +{ > + int error; > + > + sx_xlock(&corefilename_lock); > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > + sx_xunlock(&corefilename_lock); > + > + return (error); > +} > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", > + "Process corefile name format string"); > > /* > * corefile_open(comm, uid, pid, td, compress, vpp, namep) > @@ -3120,6 +3136,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); > indexpos = -1; > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); > + sx_slock(&corefilename_lock); > for (i = 0; format[i] != '\0'; i++) { > switch (format[i]) { > case '%': /* Format character */ > @@ -3162,6 +3179,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > break; > } > } > + sx_sunlock(&corefilename_lock); > free(hostname, M_TEMP); > if (compress) > sbuf_printf(&sb, GZ_SUFFIX); So the race is between somebody setting the core path string and another process coredumping, am I right ? If you, could you try to reuse some existing lock for the task ? It is a waste to have sx dedicated to the task, which is probably never used by 99% of the machines in the world. From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 10:49:04 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BBC53775 for ; Thu, 19 Mar 2015 10:49:04 +0000 (UTC) Received: from mail-wi0-x236.google.com (mail-wi0-x236.google.com [IPv6:2a00:1450:400c:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46DCDCCE for ; Thu, 19 Mar 2015 10:49:04 +0000 (UTC) Received: by wifj2 with SMTP id j2so65116691wif.1 for ; Thu, 19 Mar 2015 03:49:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=LY/cOWuW4sZoT8vGC6mhqv0mYDiOutnsowDHg8woaKY=; b=VmznWS15uBVs/BaEjUFQPgZCKTTM3YEm581m9kjRd4HAen1X9Hkf6pUCax8x5CO588 V/OyHvNL7Qz328TkFntdfEjMpG3QeQjY+sdiU7S63GYrp79gUctQ6YVSYZAUtO+S/uSG xDAv1D3HNWfZU2EFT3H+LhI6VljnSBY7Gdms2kC4MJMLEvBg9QjjaNs3ZgVVSYyHPhNp CIJUGMsW5tcvTDKXAAzFlVArMRuB8vg81YlmnQAzmjsRkihWdDcoQrlBO82LAbHSGnR3 zG7anWpWYiQUUqJ8XGKomsbFyiDXjLY3FRZzPDMof86Cd+cGdHso0AnQ+reRqaMkJiWX dY/g== X-Received: by 10.181.9.107 with SMTP id dr11mr15520151wid.40.1426762142656; Thu, 19 Mar 2015 03:49:02 -0700 (PDT) Received: from zmaj.softwarehood.com (212-200-205-182.dynamic.isp.telekom.rs. [212.200.205.182]) by mx.google.com with ESMTPSA id hd10sm6982701wib.7.2015.03.19.03.49.01 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 19 Mar 2015 03:49:01 -0700 (PDT) Message-ID: <550AA99C.5060102@gmail.com> Date: Thu, 19 Mar 2015 11:49:00 +0100 From: Ivan Radovanovic User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130812 Thunderbird/17.0.8 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: kevent behavior References: <550A6DA2.1070004@gmail.com> <20150319100151.GY2379@kib.kiev.ua> In-Reply-To: <20150319100151.GY2379@kib.kiev.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@FreeBSD.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 10:49:04 -0000 On 03/19/15 11:01, Konstantin Belousov napisa: > On Thu, Mar 19, 2015 at 07:33:06AM +0100, Ivan Radovanovic wrote: >> Hi guys, >> >> Is there defined (and guaranteed) behavior of kevent if kqueue FD is >> being closed while blocking kevent call is in progress? >> >> Possible scenario would be like this: >> >> Thread 1: >> ... >> kfd = kqueue(); >> ... >> // create second thread afterwords >> // and do blocking wait for events >> result = kevent(kfd, changelist, nchanges, eventlist, nevents, NULL); >> if (result == -1) >> // check if there was request to stop listening for events >> >> >> Thread 2: >> // do something >> // then close kqueue's fd >> close(kfd); >> >> >> I am asking this because file watcher implementation for mono is >> implemented that way (which I find nicer than using timeout), but this >> is apparently based on expected kevent behavior under Darwin, and I >> can't find any mention that in FreeBSD kevent is going to behave the >> same way (at least not on kqueue(2) manual page) > > The only special action taken by kqueue subsystem when a file descriptor > becomes invalid due to close, is the removal of all registered events > which reference the closing file descriptor. And, to prevent kqueue > code from stepping on its own toes, the close() call is put into > uninterruptible sleep with the "kqclose" wait channel until all > currently active kevent(2) calls release the references. > So if I understand you correctly close(kfd) would simply block because kevent on same kqueue descriptor is in progress? From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 10:53:40 2015 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1A9BA8AB for ; Thu, 19 Mar 2015 10:53:40 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9AA40D8B for ; Thu, 19 Mar 2015 10:53:39 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2JArYId072974 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 19 Mar 2015 12:53:35 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2JArYId072974 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2JArYAT072973; Thu, 19 Mar 2015 12:53:34 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 19 Mar 2015 12:53:34 +0200 From: Konstantin Belousov To: Ivan Radovanovic Subject: Re: kevent behavior Message-ID: <20150319105334.GB2379@kib.kiev.ua> References: <550A6DA2.1070004@gmail.com> <20150319100151.GY2379@kib.kiev.ua> <550AA99C.5060102@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <550AA99C.5060102@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: freebsd-hackers@FreeBSD.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 10:53:40 -0000 On Thu, Mar 19, 2015 at 11:49:00AM +0100, Ivan Radovanovic wrote: > So if I understand you correctly close(kfd) would simply block because > kevent on same kqueue descriptor is in progress? Yes, this is my reading of the code. From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 11:35:55 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2633635C for ; Thu, 19 Mar 2015 11:35:55 +0000 (UTC) Received: from ustc.edu.cn (email6.ustc.edu.cn [IPv6:2001:da8:d800::8]) by mx1.freebsd.org (Postfix) with ESMTP id 4918E1EC for ; Thu, 19 Mar 2015 11:35:53 +0000 (UTC) Received: from freebsd (unknown [58.211.218.74]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygAXHiqQtApV2a2yAw--.32939S2; Thu, 19 Mar 2015 19:35:49 +0800 (CST) Date: Thu, 19 Mar 2015 19:35:30 +0800 From: Tiwei Bie To: Konstantin Belousov Subject: Re: [PATCH] Finish the task 'Fix corefilename race' Message-ID: <20150319113530.GA33176@freebsd> References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> <20150319101019.GZ2379@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20150319101019.GZ2379@kib.kiev.ua> User-Agent: Mutt/1.5.23 (2014-03-12) X-CM-TRANSID: LkAmygAXHiqQtApV2a2yAw--.32939S2 X-Coremail-Antispam: 1UD129KBjvJXoWxZr13KFWkAFWrGr1kZF17trb_yoWrZFyUpF sYk3yrArs5CF45CFn3Za15CF1Yyw18tr4jg345XF4YyrnYvrykXF1rKryFgF1kWrn2g34D ta15Xr9xKryjqaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkYb7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC 0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Cr0_Gr 1UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvEwIxGrwCY02Avz4vE14v_Gw4l42xK82IY c2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s 026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48JMIIF 0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0x vE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2 jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU5m0PPUUUUU== X-CM-SenderInfo: xewzqzxdloh3xvwfhvlgxou0/1tbiAQUNAVQhl-l6PQALsf Cc: freebsd-hackers@freebsd.org, mjguzik@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 11:35:55 -0000 On Thu, Mar 19, 2015 at 12:10:19PM +0200, Konstantin Belousov wrote: > On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: > > Hi, Mateusz! > > > > I have finished the task: Fix corefilename race [1]. > > > > Following is my patch: > > > > --- > > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- > > 1 file changed, 20 insertions(+), 2 deletions(-) > > > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > > index 58d9707..a1421cb 100644 > > --- a/sys/kern/kern_sig.c > > +++ b/sys/kern/kern_sig.c > > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; > > #endif > > > > static char corefilename[MAXPATHLEN] = {"%N.core"}; > > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > > - sizeof(corefilename), "Process corefile name format string"); > > + > > +static struct sx corefilename_lock; > > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); > > + > > +static int > > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > > +{ > > + int error; > > + > > + sx_xlock(&corefilename_lock); > > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > > + sx_xunlock(&corefilename_lock); > > + > > + return (error); > > +} > > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", > > + "Process corefile name format string"); > > > > /* > > * corefile_open(comm, uid, pid, td, compress, vpp, namep) > > @@ -3120,6 +3136,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); > > indexpos = -1; > > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); > > + sx_slock(&corefilename_lock); > > for (i = 0; format[i] != '\0'; i++) { > > switch (format[i]) { > > case '%': /* Format character */ > > @@ -3162,6 +3179,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > > break; > > } > > } > > + sx_sunlock(&corefilename_lock); > > free(hostname, M_TEMP); > > if (compress) > > sbuf_printf(&sb, GZ_SUFFIX); > > So the race is between somebody setting the core path string and another > process coredumping, am I right ? > Yeah, you are right! > If you, could you try to reuse some existing lock for the task ? It is a > waste to have sx dedicated to the task, which is probably never used by > 99% of the machines in the world. Yeah, of course. After a quick `grep'ing, I found the sx lock: allprison_lock, which is defined in kern/kern_jail.c. It is rarely acquired as an exclusive lock, and is not defined as a static variable. So I think it will be a good candidate for this task. Here is my new patch: --- sys/kern/kern_sig.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 58d9707..cc99f8f 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3089,9 +3089,24 @@ SYSCTL_INT(_kern, OID_AUTO, compress_user_cores_gzlevel, CTLFLAG_RWTUN, static int compress_user_cores = 0; #endif +#define corefilename_lock allprison_lock + static char corefilename[MAXPATHLEN] = {"%N.core"}; -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, - sizeof(corefilename), "Process corefile name format string"); + +static int +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) +{ + int error; + + sx_xlock(&corefilename_lock); + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); + sx_xunlock(&corefilename_lock); + + return (error); +} +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", + "Process corefile name format string"); /* * corefile_open(comm, uid, pid, td, compress, vpp, namep) @@ -3120,6 +3135,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); indexpos = -1; (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); + sx_slock(&corefilename_lock); for (i = 0; format[i] != '\0'; i++) { switch (format[i]) { case '%': /* Format character */ @@ -3162,6 +3178,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, break; } } + sx_sunlock(&corefilename_lock); free(hostname, M_TEMP); if (compress) sbuf_printf(&sb, GZ_SUFFIX); -- 2.1.2 Best regards, Tiwei Bie From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 14:40:15 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 09C76781 for ; Thu, 19 Mar 2015 14:40:15 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A0D16AE2 for ; Thu, 19 Mar 2015 14:40:14 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t2JEe5t2032727 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 19 Mar 2015 16:40:05 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t2JEe5t2032727 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t2JEe49D032722; Thu, 19 Mar 2015 16:40:04 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 19 Mar 2015 16:40:04 +0200 From: Konstantin Belousov To: Tiwei Bie Subject: Re: [PATCH] Finish the task 'Fix corefilename race' Message-ID: <20150319144004.GD2379@kib.kiev.ua> References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> <20150319101019.GZ2379@kib.kiev.ua> <20150319113530.GA33176@freebsd> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150319113530.GA33176@freebsd> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: freebsd-hackers@freebsd.org, mjguzik@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 14:40:15 -0000 On Thu, Mar 19, 2015 at 07:35:30PM +0800, Tiwei Bie wrote: > On Thu, Mar 19, 2015 at 12:10:19PM +0200, Konstantin Belousov wrote: > > On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: > > > Hi, Mateusz! > > > > > > I have finished the task: Fix corefilename race [1]. > > > > > > Following is my patch: > > > > > > --- > > > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- > > > 1 file changed, 20 insertions(+), 2 deletions(-) > > > > > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > > > index 58d9707..a1421cb 100644 > > > --- a/sys/kern/kern_sig.c > > > +++ b/sys/kern/kern_sig.c > > > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; > > > #endif > > > > > > static char corefilename[MAXPATHLEN] = {"%N.core"}; > > > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > > > - sizeof(corefilename), "Process corefile name format string"); > > > + > > > +static struct sx corefilename_lock; > > > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); > > > + > > > +static int > > > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > > > +{ > > > + int error; > > > + > > > + sx_xlock(&corefilename_lock); > > > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > > > + sx_xunlock(&corefilename_lock); > > > + > > > + return (error); > > > +} > > > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > > > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", > > > + "Process corefile name format string"); > > > > > > /* > > > * corefile_open(comm, uid, pid, td, compress, vpp, namep) > > > @@ -3120,6 +3136,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > > > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); > > > indexpos = -1; > > > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); > > > + sx_slock(&corefilename_lock); > > > for (i = 0; format[i] != '\0'; i++) { > > > switch (format[i]) { > > > case '%': /* Format character */ > > > @@ -3162,6 +3179,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > > > break; > > > } > > > } > > > + sx_sunlock(&corefilename_lock); > > > free(hostname, M_TEMP); > > > if (compress) > > > sbuf_printf(&sb, GZ_SUFFIX); > > > > So the race is between somebody setting the core path string and another > > process coredumping, am I right ? > > > > Yeah, you are right! > > > If you, could you try to reuse some existing lock for the task ? It is a > > waste to have sx dedicated to the task, which is probably never used by > > 99% of the machines in the world. > > Yeah, of course. After a quick `grep'ing, I found the sx lock: allprison_lock, > which is defined in kern/kern_jail.c. It is rarely acquired as an exclusive > lock, and is not defined as a static variable. So I think it will be a good > candidate for this task. I think it is too quick grepping. allprison_lock is completely unrelated to the process management. Please consider to utilize some lock used for the process management. From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 16:38:46 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1EF30E5F for ; Thu, 19 Mar 2015 16:38:46 +0000 (UTC) Received: from mail-ie0-x22d.google.com (mail-ie0-x22d.google.com [IPv6:2607:f8b0:4001:c03::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D9E59BE6 for ; Thu, 19 Mar 2015 16:38:45 +0000 (UTC) Received: by iecvj10 with SMTP id vj10so71553807iec.0 for ; Thu, 19 Mar 2015 09:38:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=Sw39OecvoG1auIsri9GF9FB9gUPtguOP9PSk7yInQi0=; b=ZbgtDig/66LHjCRktTNTpI3iQEXQtoP+iaTmF7SKY/1MbAJbhIYIGwbDvB4ghPXMr5 7B1YkW1IXz4uuPTipb40rL+tt1OGDKTWmBz9Kg8F/9TgFaJS7UjvL49MA/2tdikHFIzw c/lsHnz2fB1kAKvMky+pKJyZmBzJpukns+FlVzQo6s/qloz/a1tX4OU9lcZgO4QP1ona qo3ZYzFz9pQMjQrtA/U2zyBCQ3gAhwveKbdfNzmXZsNLsT6zr/zfyGxHg/m1K/iNeH7B ML4LAgCmWLbqw02wQkSdKqLDdSlzdedeQqXybsttv7pgfMNE1yEzQfWiVmBBxcSvFWAL G1kQ== MIME-Version: 1.0 X-Received: by 10.107.132.13 with SMTP id g13mr106548585iod.4.1426783125083; Thu, 19 Mar 2015 09:38:45 -0700 (PDT) Received: by 10.36.30.75 with HTTP; Thu, 19 Mar 2015 09:38:45 -0700 (PDT) In-Reply-To: References: Date: Thu, 19 Mar 2015 22:08:45 +0530 Message-ID: Subject: Re: GSoC 15 - ZFS Boot Environment menu for GPT/EFI boot From: Prasad Joshi To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 16:38:46 -0000 Hello All, To get my self familiarize with the project idea. I tried certain things 1. Experimented with beadm - to create multiple environments, intentionally corrupted boot environment and then used earlier BE to boot from. 2. Compiled FreeBSD source and boot from it 3. Skimmed through https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot to get some understanding of gptzfsboot As far as I can understand, gptzfsboot is installed on GTP partition explicitly taged as freebsd-boot partition. During machine bootup, gptzfsboot goes through all visible disks looking for ZFS file system. In my opinion, it identifies whether a disk belongs to ZFS by reading VDEV Label (not 100% sure though). Once a disk is identified, it has to discover other VDEVs in the ZPOOL. Once the pool has been figured out, it would be used for booting. I think a POOL or Dataset must also have bootfs property set. Once a bootable pool or dataset has been identified, it is given to zfsbootloader for final stage of kernel bootstrapping. Assuming my understanding is correct, at the moment, gptzfsboot finds a single bootable dataset and starts bootstrapping. The aim of this project is to find list of all bootable datasets and display the list. User can select either one of dataset, which then will be passed to zfsloader. Besides this, as far as I understand, beadm must be taking snapshot of ZFS filesystem. Along with detecting bootable datasets, shouldn't gptzfsboot also look for snapshots created from beadm? I tried to browse through FreeBSD source, however I could not find gptzfsboot source. I think, it must be inside freebsd/sys/boot/i386 directory. I will try to dig further. I will really appreciate, if experts from FreeBSD community help me in right direction. I will look forward for reply. BTW, I am still looking for mentor, please help. Thanks and Regards, Prasad On Wed, Mar 18, 2015 at 8:57 PM, Prasad Joshi wrote: > Hello, > > I am Prasad Joshi from India. I am planing to apply for GSoC 15, I > found idea 'ZFS Boot Environment menu for GPT/EFI boot'. > (https://wiki.freebsd.org/IdeasPage#ZFS_Boot_Environment_menu_for_GPT.2FEFI_boot) > > Last year I participated in GSoC, wherein I worked on OSv to add > Symlink support. Here is the link to my project > https://www.google-melange.com/gsoc/project/details/google/gsoc2014/prasadjoshi/5741031244955648. > During the project I worked on enabling ZFS symlink support. I added > various related system calls like stat, lstat etc. I too had to modify > name lookup (namei) to take care of symbolic links. It involved > changing other system calls like open, rename, unlink (basically > anything that touches file). However, my commits in OSv did not limit > to symlink support - I also worked on adding eventfd, fixing zfs > import/export/unmount functionality, and adding support for few > smaller system or glibc calls. Here is the link for my commits which > are accepted in OSv > https://github.com/cloudius-systems/osv/commits?author=prasad-joshi > > I have also worked on KVM Tools project few years back, wherein I added > QCOW1/2 support in KVM Tools. Here is link of KVM Tools announcement > http://lwn.net/Articles/447556/ > > I have also contributed few patches in QEMU, Illumos, and Linux > Kernel. In 2008-2010, I worked with company called KQInfotech, as a > developer for porting ZFS to Linux > (http://en.wikipedia.org/wiki/ZFS#KQ_InfoTech). > > Though I haven't worked on FreeBSD or PCBSD before, I am confident > that, I would be able to get up to speed in very short period of time. > > At the moment, I am in process of understanding FreeBSD BE and > preparing a formal proposal for GSoC 15. I wish to find a mentor for > this project. > > I will look forward to reply. > > Thanks and Regards, > Prasad From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 17:22:05 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4024CA02 for ; Thu, 19 Mar 2015 17:22:05 +0000 (UTC) Received: from mx1.scaleengine.net (beauharnois2.bhs1.scaleengine.net [142.4.218.15]) by mx1.freebsd.org (Postfix) with ESMTP id 17314307 for ; Thu, 19 Mar 2015 17:22:04 +0000 (UTC) Received: from [192.168.1.2] (Seawolf.HML3.ScaleEngine.net [209.51.186.28]) (Authenticated sender: allanjude.freebsd@scaleengine.com) by mx1.scaleengine.net (Postfix) with ESMTPSA id AED679EA79; Thu, 19 Mar 2015 17:22:03 +0000 (UTC) Message-ID: <550B05CF.80503@freebsd.org> Date: Thu, 19 Mar 2015 13:22:23 -0400 From: Allan Jude User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Re: GSoC 15 - ZFS Boot Environment menu for GPT/EFI boot References: In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ft9NAfFVNieKQmqGG47ak3ofaT7GEaul5" Cc: prasadjoshi.linux@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 17:22:05 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --ft9NAfFVNieKQmqGG47ak3ofaT7GEaul5 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 2015-03-19 12:38, Prasad Joshi wrote: > Hello All, >=20 > To get my self familiarize with the project idea. I tried certain thing= s > 1. Experimented with beadm - to create multiple environments, > intentionally corrupted boot environment and then used earlier BE to > boot from. > 2. Compiled FreeBSD source and boot from it > 3. Skimmed through https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot to > get some understanding of gptzfsboot >=20 > As far as I can understand, gptzfsboot is installed on GTP partition > explicitly taged as freebsd-boot partition. During machine bootup, > gptzfsboot goes through all visible disks looking for ZFS file system. > In my opinion, it identifies whether a disk belongs to ZFS by reading > VDEV Label (not 100% sure though). Once a disk is identified, it has > to discover other VDEVs in the ZPOOL. Once the pool has been figured > out, it would be used for booting. I think a POOL or Dataset must also > have bootfs property set. >=20 > Once a bootable pool or dataset has been identified, it is given to > zfsbootloader for final stage of kernel bootstrapping. >=20 > Assuming my understanding is correct, at the moment, gptzfsboot finds > a single bootable dataset and starts bootstrapping. The aim of this > project is to find list of all bootable datasets and display the list. > User can select either one of dataset, which then will be passed to > zfsloader. >=20 > Besides this, as far as I understand, beadm must be taking snapshot of > ZFS filesystem. Along with detecting bootable datasets, shouldn't > gptzfsboot also look for snapshots created from beadm? >=20 > I tried to browse through FreeBSD source, however I could not find > gptzfsboot source. I think, it must be inside freebsd/sys/boot/i386 > directory. I will try to dig further. >=20 > I will really appreciate, if experts from FreeBSD community help me in > right direction. I will look forward for reply. BTW, I am still > looking for mentor, please help. >=20 > Thanks and Regards, > Prasad >=20 > On Wed, Mar 18, 2015 at 8:57 PM, Prasad Joshi > wrote: >> Hello, >> >> I am Prasad Joshi from India. I am planing to apply for GSoC 15, I >> found idea 'ZFS Boot Environment menu for GPT/EFI boot'. >> (https://wiki.freebsd.org/IdeasPage#ZFS_Boot_Environment_menu_for_GPT.= 2FEFI_boot) >> >> Last year I participated in GSoC, wherein I worked on OSv to add >> Symlink support. Here is the link to my project >> https://www.google-melange.com/gsoc/project/details/google/gsoc2014/pr= asadjoshi/5741031244955648. >> During the project I worked on enabling ZFS symlink support. I added >> various related system calls like stat, lstat etc. I too had to modify= >> name lookup (namei) to take care of symbolic links. It involved >> changing other system calls like open, rename, unlink (basically >> anything that touches file). However, my commits in OSv did not limit >> to symlink support - I also worked on adding eventfd, fixing zfs >> import/export/unmount functionality, and adding support for few >> smaller system or glibc calls. Here is the link for my commits which >> are accepted in OSv >> https://github.com/cloudius-systems/osv/commits?author=3Dprasad-joshi >> >> I have also worked on KVM Tools project few years back, wherein I adde= d >> QCOW1/2 support in KVM Tools. Here is link of KVM Tools announcement >> http://lwn.net/Articles/447556/ >> >> I have also contributed few patches in QEMU, Illumos, and Linux >> Kernel. In 2008-2010, I worked with company called KQInfotech, as a >> developer for porting ZFS to Linux >> (http://en.wikipedia.org/wiki/ZFS#KQ_InfoTech). >> >> Though I haven't worked on FreeBSD or PCBSD before, I am confident >> that, I would be able to get up to speed in very short period of time.= >> >> At the moment, I am in process of understanding FreeBSD BE and >> preparing a formal proposal for GSoC 15. I wish to find a mentor for >> this project. >> >> I will look forward to reply. >> >> Thanks and Regards, >> Prasad > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.o= rg" >=20 the beadm tool works by taking a snapshot of the current 'bootfs' dataset, and then creating a clone from that (since snapshots are read on= ly) In general, beadm has each boot environment as a dataset below some common point, the old default was /ROOT/ however, newer versions of beadm allow the user to use any arbitrary common directory, mine is /bootenv/ I wonder what the best way to pass this directory down to the gptzfsboot code would be, maybe a 2nd property, in addition to bootfs (the default dataset to use), something like belist=3D/bootenv that gptzfsboot could then list all of the child datasets of, to generate the menu --=20 Allan Jude --ft9NAfFVNieKQmqGG47ak3ofaT7GEaul5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQIcBAEBAgAGBQJVCwXRAAoJEJrBFpNRJZKfz8wP/RHosLqWTCd6bF3/aEDHO0FZ SJaWYHEXM10kkUq+ZwgA4ao9FjhYZoyvM7cQzOFH4Bi60bwNL4EeTrmEoWpsEQKA 7KBAy75sLWtBn+S4m0QR/mRyKtWdbEgx8RabKCeHu3dBOjSm1X8CXLCAQFyaSh6o 25XJ87DykFyfiJS9ukHe8iOcZ0GCEt8sqX/jzlXF52KOgApMwJEWeejKYc1IX+21 I6vcqSUylc/sF80AEt2jO03GnLrdWoWnJeR3J5gh4zx9QIdh43GvSYYnpU4weD6p 5SbN4Z3aXjgCdFGlK37WCvyZm9571mU/kj+pj3Furja7+bvL1MzBu3s/cU+3dPIv zYwsktSsTnhlgS9Kb3HlZFSGkQ9Z8eZxMg/kCRgnKXU9NigoaPr+qYnVCHjSo1TT brv2aJH7Vp/00/XxNkxRQjRTh/r5oi19vnEB3i0u435EFvz3agAtGCLjfoiLFMSI ANV7VEWflqbjtunlKChS2hIaI6U3dC6Jy1KTVZNQc8jrWi9X/0NhKfR8nzgO/g2d GtgxHNorW6Osf+rpFn+T+iwaO1Lk7kK1k6njJsuMGmPTXh9gBz0wrug86LtlPL7p tZc7Q5eze/Mo9QZpIfa2Jg5Kh5C7hVlWJ8hnSur6HDGWIZTdiEBKYJnIHi21EUe3 6rSa+w+Q0DujL2bdgjXu =8W+r -----END PGP SIGNATURE----- --ft9NAfFVNieKQmqGG47ak3ofaT7GEaul5-- From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 17:50:18 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6FAC9EC5 for ; Thu, 19 Mar 2015 17:50:18 +0000 (UTC) Received: from mail-vc0-x231.google.com (mail-vc0-x231.google.com [IPv6:2607:f8b0:400c:c03::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 150B2890 for ; Thu, 19 Mar 2015 17:50:18 +0000 (UTC) Received: by mail-vc0-f177.google.com with SMTP id hq11so2770232vcb.8 for ; Thu, 19 Mar 2015 10:50:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=KRABFpj+99cI4h08T70OFTyntHN3LmTc1F+AcnM2+M4=; b=TCFBPmY5xcwYz8cPAdSH8U3ljdVK7fBlNnAl4Rf2mUGvyB7P00FWKwqFc3gWMyqXA2 uNw2/U9Y1Dbt0ZhJy4/n/ICmER8a3MXi0MlZKw66t+tDW3pYdK6kTaOKegVH+FIHXlz7 JHZ8f2tKayemZjweKaWiQOaIWKAqPdFxybkKVLvocxpNPcey24ZD/gjVA/uNdeQifB9k 2uB8ir98bDocpBaeGWytPGcs33JzYi6fjpNrhVtuRdJXj0uFhW4TuiWNFxwizKOw++t7 umDZDCXcvZRT959GItGHyPAFB0sL2IapK4QfqZnNtd26WzhQpP4aziGfQRrz8qx2JvvE NRUQ== X-Received: by 10.52.110.226 with SMTP id id2mr3448358vdb.23.1426787417172; Thu, 19 Mar 2015 10:50:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.119.205 with HTTP; Thu, 19 Mar 2015 10:49:56 -0700 (PDT) From: Pratik Singhal Date: Thu, 19 Mar 2015 23:19:56 +0530 Message-ID: Subject: Google summer of code proposal To: freebsd-hackers Content-Type: multipart/mixed; boundary=bcaec548a50b2c20690511a7d593 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 17:50:18 -0000 --bcaec548a50b2c20690511a7d593 Content-Type: text/plain; charset=UTF-8 Hello everybody, I am interested in improving support of freebsd kernel on CubieBoard which I intend to do as a part of Google Summer of Code 2015 . For that , I have prepared a proposal . Currently, no mentor is assigned to the project. I thought it would be wise to get the proposal community reviewed and therefore, I am attatching the proposal as a part of this mail. I would be really grateful, if people can review the proposal and provide their valuable feedback on the same. Regards, Pratik Singhal --bcaec548a50b2c20690511a7d593 Content-Type: application/pdf; name="proposal.pdf" Content-Disposition: attachment; filename="proposal.pdf" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7ggevxk0 JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURl Y29kZT4+CnN0cmVhbQp4nK1YS4vjRhC++1foHLC3q1rdkkAIJFteyG2yhhyWnPJYCNmEnRz276de 3XpaM4cw4Bm31PX46vXVuAsU30/fCkc/EbCoGixefz/9/EPxt5264vXLaXicoKwuvqigvFTF47fi wx0KxOLxx+fWQQetww5i63x3Bv7E1pXyZ+BnsTuXratcLUcNH/X5Y6CrfHzlL5W7pTMWV7lRX7/T BzgTr5IHAL0J2P3y+PE0Pk4vK5sx1uRfjNWlSTZDTTaTWa4BTz8kAsru8efe7RAvdRGxJrflMhYQ k8PkHzrPlgQWFtk5+k5i+VF0vRv4jyudBnejA9QDdoexCO5Omp09ru3y6Go+A1AhLHMU6T35iKII vN4nqz3BAkHV3LMhXm+X2RaI/Iugjwu1zzBTr12TIMteqwn3JAkkyL1oo4+zb5PGngyvyBJ2mC7p k6jvhywlSRBYCACoujO9X0PDv+lpT6fy0BsiMJiTlFNNC1d5zxBoFJ5Kb0R+EW4q+ZqwQ3qVjFE8 LAz6LM6uglOJY4bsqVOHEIYGLmENoVdtg+XAIkBiw12cpqdqRDrgdDOQ1VMK/8x7ij/7l7AMdGAJ aCdeAEENldamIOlJu6Gz56XcHe3dG+fUu8N3jE3lqS5X2KziLQhPgInTo8ju3U3dNqWz6lJT92tj kSg3utIs/Ytcgl2ILdzFFUhooet8ZQHxbJ2Z0wXH7/oWARHZUr2JJSKpqwnb8WlnAqTsCL5MOWKd 6bO0CDKOcOZGChRLsa/iEJHrPfdGcoq/X6l9Xem0fqbFN+GCcy2Y+99RzyubHJ7cMCP3DWCMkPQd Xa5K0rmKreAyFWlCcN1SFOJFlWhxoOZu0AfeIsadDOUQrCPfJM8hlYGEdLdvpbSlRBCrRgxSk5pI qjSYbr43aTEjMVpW2VkqTdXGf2FlbzxVeFQiZQj0uZo72TotDukBalmvZjG4iJGdx21WXIKDJqZ5 Hiqa5Ltq7oo2ageSTonikWfFmulcYmZA2UUCaFj7Kd6rrzBoDUOLUa67agoUajudl/qsRevrOEsG EmYGCg4kZOYniKeUtTPvfv16cjTNvi9A+OnjyRVnuJTF1wJrLkb58lfxaROPsnSU0XtIYW+NnLnA uOiOx8H1Fenamw1Pp+GbrW+KPQH0hnpYzvYWNxW9SJWI7D+sCcE782SVo5IojNqmIuZZwukhAnB4 gsmUGCkTVOEaqAX72kuV7N2beeKRfz/NE1/7S9zBibLkzYnoa9x2TWM407CNOheNH86w5X4k/HFI HYpJnjS8YTb1EkMwYrNhCTsMoc9jckMBrJ9ueBr1HskC7ahv+F1umQA1BKsrvPJ0veHI4nSGbJyk b4cKMC8sk4IyK4hqcS/jYitZOeKChHhnWagFGDx0ZetRDiX38OnQV4Nc3CwU3ieDSNoZJ6o9AYuz iWScRSOPEterrBpNbpsS3WgRTczWSBVVO7aqSDYZ4TBme2poWygsi+AYbqRda53HVML/b+Iqvxvy 4J21oTqTg9u0NC1YLo8RNLZgTMHKocwwC0KTSWSiTnvFMdWEVYJez7N/xQ/M8ERj9GEejdYapGK4 g4W3OwVifVAxUHc0i5dDYzcNEkkangb8yAioN9vhgjQrP5mmYQrA/VDjLHmn7XgWvLwo2/bzLANm sUw747E3waVxPNHwkoj2wEQbKiPjA9TC/p/SbRUGbsMTLCDUZbCa7Zy7zBTzwpoeKwFdnh00XwI2 pl7gfZk38AlSTCVkbKufusluOe43wnfueg1uqM62NWU2OK/I1Y5g/0iJ2aG0sUvrG9Msq+d2znZ8 HaO7S2aYZ54t25t0vdqkSNx0mpGKk/57I89L6yloPTvtopO7U60eoVftYLdadvN/MBI6qNtsn0xH 6e9CC2WSzpeieW6JaLU+7y6SJlqGtZIA07emB6I+SRW/3bQtXad4xiltZq7s/kNjAual+FZ8GD9+ CsWXf4sPj9eyuP1TvJz+A8WGa2cKZW5kc3RyZWFtCmVuZG9iagoKMyAwIG9iagoxNDg4CmVuZG9i agoKNCAwIG9iago8PC9UeXBlL1hPYmplY3QKL1N1YnR5cGUvRm9ybQovQkJveFsgLTQyIDM5NSA2 NTUgMzk1LjEgXQovR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSyB0cnVlPj4K L0xlbmd0aCAyNQovRmlsdGVyL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nCtUMFAwBOKidC6nEC7X EK5ALgApxgQECmVuZHN0cmVhbQplbmRvYmoKCjUgMCBvYmoKPDwvQ0EgMC41CiAgIC9jYSAwLjUK Pj4KZW5kb2JqCgo3IDAgb2JqCjw8L0xlbmd0aCA4IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGU+Pgpz dHJlYW0KeJytV8mKHEcQvfdX5NkwNRmRlZlV0DT0KvBtrAYfhE+2JDCWjcYH/b4jMiKXWqZaAtOH 6sollhfLi7IdmG+7r8bSLwCaOKJ5/bj79Sfzt65a8/p5d7rvfOgGE9F2ztz/MM83NBDM/dOHvT3b YB3gAfcWD09hD57/Ojvyw8vGzQ68Zb290Okgix6AH8GivdrBng5PPZ9AunttLtLfY9pOUge69OSa c/T0zh6ecA/DgbRH/kvLrJ5k0Fkx6ExSPPRp96ZLJN7/mP2H3+4/76733csqPBa6cQ7PSXwMYgsJ dGyYT4Yl/wc11vbZZl5MlgR+P72tFQNQAEMAUQoGhqQURnLW2QiRXEIgI0iKg8GeN+0PCF0/sx/O glgyM6o3cBHDz8lKCabFBBzZzG624NGK37e3rUBMQUeXcBCXm5BNwi/XhoTGJET6wKzgmk6KGTan zChplWCnOJzEsGvy6mgvImPQtOFcTCeuIpLyxbXpIqvbINp5heSEErRSzI8p4+fJpTamI1obkrAz RzGu4eO8PcpBeS8+YE24IM5CLQuX7CjgCFaN7BRI1ItqZrWpMZVLm0XJSetYeVadhLtq0iaAfui7 MK+iS7JaEQkE40lj/kBW7zs/k4WAR/UzNYzbAcBynseRX3xqLk1TOJUcbrzl5NpUjLGDueJ+qniU TqW5ONOnMSrK0r1tlXbo4kylc1UlaThqax0481eaDgVvS0MfxkVk8Jasp+yeJDQryQ4uwVx1bqV8 xXIvZYwl9Zpz2PYPlwrD16VyVxREsmPMwmTrUuJazc/tZEJVTc6rjwTnSrPaBtBDh/PUvuXUjqo3 SDm2UjPBzdkNK7npZRRZo9TcGuFNy7fEwWdUSp+ITZ8Qk/ptPi8dPiWDoD4+orB+ND2UsaKhsMPY S3s6M2HAmexhyj8DlStwr4mbWLtoF+XARe5yH5tBWGkk4z9PyHTr1CTjJLmwrlYElXB0umiaYnOB wNKGjYVOi0m0zTNPr2FfL5GCMYwtXytttsQ3oCYZXjViEnwG1nOVbkPqcTn+HZtqKhi2DDJp3dLx vocjsgjFplJLnTm4Bq9ro8bqQPGQ8l2fI7IZ+K1sFphgm3Q0G9ry1WLiMGgB9005Tl3M7VON2TQF 45ITKg0dfKI/x/0jyT5qCmpDOMmaW0xabXjfxCrl0/fg/siHfjlVV16jzuj2qyk42F4G6HHGGfZh n0Z0swjucTjc/5xc6LyFMei1gNTYl9e4vUucUfpB6hbI5sroi+lrgKdMbcs63WhZlSJhw12g9VTI sMcg97e+HES2Y411WMuNOW0qM7vMw6KQuzcLQe0co0SJRVDS9mzPdKtYyNtY6CIPmDWnaI9Uu0h+ RJI46TaQUKWvmYrk7192lkL/bYL3L+921jzxh8oX00egaKWXv8z7ZSxdvxrK4zyUeh7iSOpgwDzl VDZafEgR+0Dk3ELOKHBwYZbiaIXEnMRYmPq/7ASpbMqGCze5zewDGlorHSpzXcGmEDMvQkJVIvs2 C1LpkywMuXicum/hDffHML1QafN/G+UWfbkUrWSUUtZkysvTXDmaZ/9tx238IbftYlbIberRdKOo nKr9zXdxIbal0S/mq3m+vnsP1nz+1zzfX0dz+ce87P4DYiO/8gplbmRzdHJlYW0KZW5kb2JqCgo4 IDAgb2JqCjEyMjgKZW5kb2JqCgo5IDAgb2JqCjw8L1R5cGUvWE9iamVjdAovU3VidHlwZS9Gb3Jt Ci9CQm94WyAtNDIgMzk1IDY1NSAzOTUuMSBdCi9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0Rl dmljZVJHQi9LIHRydWU+PgovTGVuZ3RoIDI1Ci9GaWx0ZXIvRmxhdGVEZWNvZGUKPj4Kc3RyZWFt CnicK1QwUDAE4qJ0LqcQLtcQrkAuACnGBAQKZW5kc3RyZWFtCmVuZG9iagoKMTAgMCBvYmoKPDwv Q0EgMC41CiAgIC9jYSAwLjUKPj4KZW5kb2JqCgoxMiAwIG9iago8PC9MZW5ndGggMTMgMCBSL0Zp bHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nLVYy6rjRhDd+yu0Dlzfrn5JAiOQbXkgu5sxZBGy ymMgZBJmspjfT736oYflSUi44CupVd2n6lSfqpY5QvPl8Kkx+BfBNm1vm8+/HL7/pvlDn5rm84fD +X4I8dg1rTVH19x/bl5v0EBs7r/+cDIwvNgTmAF/AgBchxd3Mq0Jpjc3cIOOmW548fSb7s8Qhh/v 3x6m++FtsVbraS0Dx17WcrIWLXX/bcugt3MDm8BBB7cBwJzgMrT9CW8CggvmYqJxYBkH/UQAgo2/ hBSfEdZgJh5FoASan+PwPuzY2X8COr9eQUZso3G4eMDr0VxNT8t6/IeoBHQHkcO8BfEBOiYwxuVy diJLJw7z5DgXhSJKKAJSKY7LkrISg+grI3PDt5wJFokHTxnBthdj6alMFhlgoNAnK5wykBexTCIx xlXTDa8o98NLVMKsUNUXb8XX796Ro20TvcHU/nhwJur178376u7jIYSAuVzGxAxiMePrbKYjapbH 2IweejWT62SWRsSsjLGZ7/0xqplcJ7M0ImZlTMyCxYdqxtfZTEfULI+Jmelxf6gZX2czHVGzPDYL SRXWld/ViyvnqhdXHlQvrmBWLy45WJNaEzDnrY7xnJpZGOfRryNVglgxv5E+FcEbWVLxuJEMFV0b nFesrKldbPIejaK1OPFim5uhA9qTHYwmuI53aHysZc50JBcbM5GSovLYtBfhZCPOakWPHqoPAQt9 dwxLYGBpfzu3j+SB6SgSNECfcHWslgJHlMMhPlIYx8KShYbxk0KNoihn0TuXPIFuiCfoOVBPwhQ6 yoI5uHWJIalj1dIqU8RsS8WlAFmtA1E0b8weqW5e0BPLHorfT5FGwF21IDRUFQDX63BWnY1/rKLx Q8Qon59x7NrVCs4Jx/1TeBvG1ieWnRmcYFqEoRQPZC1R9v/UeMUJfeqDShiFI5wvpZbF0s01j4oi w6kT7ZITraAng1QLqQQKbuWD4H4Vx8as+iBOf6nWrsLQQcvNW53qqA8aBCeeSMD2WfftivNeOB/3 wW4YunpXo255d0oUEX12zX/e3I/2kQxr/MODpvAJ0NChn/9yj4fu+cbxzq8WcCMHEYXOP8W3Zd7+ 56GUBCzxlPBWLesTlFgRlx2ozFn6XAbS5y4zt7qPZraxxSLlsF/w+WjSUecNN9xVZzyGXEwLk3EP +nBujB0qz6q+nM1Ya0Yqmzb3xpZgIkUcBXtNrWmOK4wqUF0pRTfuXfeadIfqsiwnsrTMcqESPlsa pYJvrTu7i+vdXq7xCigRq313pRluogfo66RNfJKCFIObPm+R836eS2mHeYaHTzl7N7Acg4E+Jv6s 2wSEp0dbplYPZVpKP/4xV95x5UxyxUSi+HRCwllPGNqniM0yWPQGj8BVnGCttULgPAKVI8CuQFPg //TxQMr7ZeYjHkhM8wLUFTY2UD/IN9S6bVJjO7suLazSclK7CEHeVFTdBl8YoTNiiUdiRPIwJQ1v 8Ge0QEBntuB8DTGiJxWQG+1w5AMlUzb0NhfCw56/mxxUWJ+z4N0eCz5seU1ZvCMf1oe1fEypiRO9 oIYgqP/s+agCVzeCvWzwoM0olX7tJkRfu9xyn1O7Mari5DeLdo5skVvaR82ubG3ctapSmiz+kYZ4 31K4A6Dn6jP3Q5QbbkDb6aFlaDH2W9FCdB4R2dyXzb3wizq1K2/WtisBnbmWE6zLCUb6rVIGElnH JlndL3pkQhJhog1nM4+Sw62GbRK5mGRFOScFKv+be26GG2vkqv1NWUR1g7+fqCfKeaKy+jg0p7F8 PcoVlbu6mBv80mnmtMpvVB999CClR5IKT2l8JcdnNhJT/uqz7B12u0qKB/RmLT6WPypNqS/QkshO aHKnypQ2hO0eaQq2vUlWsFOy1YkLf6N+x6r3bNXWbXVPdStPb1bLOa/+L+rsssLsn6I5Ku3Gd06B esueIwBNjL2q4Hz+iAfFm9y1hJIiNpZOMCVWPt/Me9u35lPzOr17D6H58Ffzev8Mvrn+2bwd/ga4 gb7FCmVuZHN0cmVhbQplbmRvYmoKCjEzIDAgb2JqCjE1MTYKZW5kb2JqCgoxNCAwIG9iago8PC9U eXBlL1hPYmplY3QKL1N1YnR5cGUvRm9ybQovQkJveFsgLTQyIDM5NSA2NTUgMzk1LjEgXQovR3Jv dXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSyB0cnVlPj4KL0xlbmd0aCAyNQovRmls dGVyL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nCtUMFAwBOKidC6nEC7XEK5ALgApxgQECmVuZHN0 cmVhbQplbmRvYmoKCjE1IDAgb2JqCjw8L0NBIDAuNQogICAvY2EgMC41Cj4+CmVuZG9iagoKMjIg MCBvYmoKPDwvTGVuZ3RoIDIzIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAyNDU2Pj4K c3RyZWFtCnic7VXdbxRVFD93dme3FOgXCxYX5Q7Dp53tJzaSFNi0u6Xbz2W3rTPYRKbbabtkd3az u22okQDGjzoJJCYGIfKARKNGMXfXxPDggwZ5ILFGDdZoJPHBxAfFBxMeNAKeuTu0lfRPcGdn7u/8 7jnnd8+ZmTuF3IwB6+AUuCCYSOtZHyGAvy8BSF1itkDHNp0VEf+MXHQyO5W+ubv0K4DQjKcxlZqb 7P/uja0A7vM4/+G0oU+cmb/TCCCG0G6fRuKFu0970X4e7e3T6cLxs+S6G+1LaFekMgldgVGE4nt4 8aT141mfawsuQGRoU1NPG+e+Ov0b2l8DuI5nM/mCD47dB1jTY89nc0a2vuHPK2hPo426QIAvHysC 4uH2/7/X4TV4Fa5ABC6DBk2wFxRohaNwGGQIQSdI8Dlch2/gGrwNL8M5OA1vwiVg8C4E4SS8SC7C ZteieFB8H54RaxkoDDb0sSeiKuud1RjIB+uZp0Hdr3HuhEZvMrKhsT7AiEJ/ZOsaAkxQ+mJqWNak AHMpyXrKglFVYkEtwNyKHSrJ0nPqLf+C5kc/9a7/tuaXJSY2qKx7VuMTmob5RGX92JEA8yjFbWQe 1en82JifAabxKsXtnAouURVKXS3d1xRgaxR6whb5AtNQ5toRkSlz7+xlEFUtw9KpDZ7yS5Lmt7gV K1u2YGV5dTX+GgkzrlXot7ycdQptYt6GMZXSQ3K3foyqdGK8nML2W28rozS16CGrW5ctaslcTraT syB6Yn02wYKGbWBMFVfav1gvSX66aGEbMCiCqxlx1iZxt2pFpouOuEzVvrhfYkRTLSwoIlsytSKW rNsB5RB7CLAa+zbU4bpr7QJsUPdQAZY9yPqxoysrsUM3KFiE9Yrdtt4J2fIyGlU7/J/hjE/5GIIk 2NlJ+q7WQAL41XYeUe1rTJXHcfVypx8HIndi54MxtQQUuhKdJUIJDowm2GZjywOtjQpDFvuCl4D9 1Ar4bIIwIY7gzuSFxiKBpo6S1119u7XoEX/qKLkEhFB02bRo0yWvZ9c/HSVi8221Uu0OqVYKCfTe dnL+3rQ48vcHIfcC2DtCL7khHHXdgip4HJ9ybMUC/gmrbmLuRbZ2Af/FGtIAzS1k266dT+5tb2t9 ZNNGn9dDjpiHD1820/0D/X3kxuBAxrw4NGBm+wf5LjN54UJfXU/k2eqOO7C1gr94C3+989bKF5FX g/se1lb+YZx39O7JFS4P71eC8DuEhB+gF3F5qyS8N9VODgFtATbZtOtBbBV8tJSntJSTQCVaxIny wqcOdiF/zcFuxAsOFmE9fO9gD/K/oCdxr8FEE/CHgwn4hJiDBagSJh3sQr7gYDfieQeL8Khw0cEe 5D/ZndhDW5ub99H4jEkHkolcJj+XLxjpPI2YicbK4Z5wLExDQ+E4HRwapmE1Eh+m5ZiWFto7k0oa Jh3Ux41CZTQW7gqH0LEjcGA5Ij7S1RUOh5ZjhlLJ2aSRoz16KpWxoyIDYR4yHItE+8O0TDjubXRA L0wn9Ty65/NGKq2b5lDWMONz6fFMKmZMzaT03DKxjEaNXD6ZMWlLc2tj+zINu/FV2YNvQSs047EP URxmwMRxAJI4l4MM5GEOzwIYkMaR4q5t4kwj3oFh6IEwxPCk+G4M4RhHNIhoGMcwqOgb53ilTgse FJ+fGUihhsHVBkGHccQFzBrlGbvwDDkZOyAAB1bViMMIetq+tvdqOkNcZZYr5dDuQaUUHpklrQjW Gl6hMsy5KPRzdqXHf7O38S7pmGcas+u8Nz18zKNWCrulY20mriDLq4xjH9NYZQbnYshM8Q7ouKrV PFbjRnkNeVTL8K614Dpa8U60r+rtKr9w96fAt9pH+Cq5/xIjZ6CPVUTVIiFntWK3/XVhNfjh9MUQ nNIew6/AmKoxXwPAv/sL4ZAKZW5kc3RyZWFtCmVuZG9iagoKMjMgMCBvYmoKMTQzNQplbmRvYmoK CjI0IDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvREFBQUFBK09wZW5TeW1i b2wKL0ZsYWdzIDQKL0ZvbnRCQm94Wy0xNzkgLTMxMiAxMDgyIDkxNl0vSXRhbGljQW5nbGUgMAov QXNjZW50IDc5OQovRGVzY2VudCAtMjAwCi9DYXBIZWlnaHQgOTE2Ci9TdGVtViA4MAovRm9udEZp bGUyIDIyIDAgUgo+PgplbmRvYmoKCjI1IDAgb2JqCjw8L0xlbmd0aCAyMjEvRmlsdGVyL0ZsYXRl RGVjb2RlPj4Kc3RyZWFtCnicXZBBT8QgEIXv/Io57h42tJybJmbNJj3oGqs/gMK0ktiBTOmh/94p Vk08QPJ474M36Gv32FHI+oWj6zHDGMgzLnFlhzDgFEjVBnxw+VBld7NNSgvbb0vGuaMxNo3Sr+It mTc4Pfg44FnpO3vkQBOc3q+96H5N6RNnpAyValvwOMo9TzY92xl1oS6dFzvk7SLIX+BtSwim6Pq7 iosel2QdsqUJVVNVLTS3W6uQ/D/vIIbRfViWZC1JUxlTssfpTu1j/bQBtzJLkzJ7qbA/Hgh/vyfF tFNlfQF+i215CmVuZHN0cmVhbQplbmRvYmoKCjI2IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBl L1RydWVUeXBlL0Jhc2VGb250L0RBQUFBQStPcGVuU3ltYm9sCi9GaXJzdENoYXIgMAovTGFzdENo YXIgMQovV2lkdGhzWzM2NSAzNTUgXQovRm9udERlc2NyaXB0b3IgMjQgMCBSCi9Ub1VuaWNvZGUg MjUgMCBSCj4+CmVuZG9iagoKMjcgMCBvYmoKPDwvTGVuZ3RoIDI4IDAgUi9GaWx0ZXIvRmxhdGVE ZWNvZGUvTGVuZ3RoMSAyMzMyMD4+CnN0cmVhbQp4nNV8eWBU1bn4+e4y+2Tu7DMZZuYmk4QlK5kE iCy5hCSERRgg0AwqmZCFREMSkgCuJSq4gJSIuFtNLbXW5tVB0YfWalRsX2ut+Iqt1i19Ym1fXaKl 1qfk5vfdc2cmE6Dte+/3++c34c495zvfWb7lfOf7zjlDf+/2VmIiA4QlUvPWph4+ZCf4+SUhYGve 0S8uXO2cj+lRQph/b+vZsvWef734NCHcUUK0R7d0XtH22aIPbYSY2glZuLu9tamlqM0RJmTZR9jG nHYE3ChfoSVkeQ7mc9q39l/+O+so1l9eh21ynd3NTYKR/ZiQFSuxfPfWpst7KridDOZPYF7satra GqhkEHfFGCHGHT3dff0tJGeCkG+0K+U9va09K+/Z/BLmbyKEHUQY4J/yMWFSo+QZluM1Wp3eYDSZ MyyC1WZ3OF1ujzfTN80fCIpZ2aGc3LzpM2bOyi8oLCoumV0aLiufM3dexQXzFyxcVCmR/98//H7i JHX8QmIhPfR7yocdJl5yNyETirzSvuWVE1/9vxyFTn3dRR4iR8l+8ia5JFFQSyKkg2xHSPrnefIa QpVPhGwkj5C9f6fZYXIMy1W8GDmgUHLeT4TcSR4nP5vSS4RsJVfhWJ4gb8Js8nNUlW7yOejIteQl bPVzhF14vqaYDPxqo8m2NOhb5F5mH1nOnMLM3UoJU8wI5Di5DzZhy/1I5/4UxQvOafRGcg1+ryPt ZAem6YdfeOZ3RD/xF6TqGrKcXEcWk860Gs/AA6wB5VdPHkCePk9hxclCbR17KfMkw4zfhplbyRZ8 mgBpZ/azi/8Oh/7HH3Y9McNMNpfoz1fKlBGL/BVTOnGazSEGsn5iLAmbWDHxF7ZJ7uIauWn8Qu7l f9SH5lZuK9YmEx/IV8kt/Cr+IZTWw4RISy/aGG1YX79u7ZrI6lUXrlyxfFnd0tqa6iVVi6XKRQsX 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 mZ88Uxy0PBN8hgk+vvrxXY+zsYfB8nDwYSZyb+xeZvA+sNwXvK/4Pvaeu4uCdy8NBO+8Y3pw9I6x Oxhlc/4Os7X2GVgNK8lC5OGqx9mJ4KOLnXAhkmXB7yA+xfisxqcbnwP4YNyD6EF8imGlNI9tvB2M B30H8w9edXDfQb7nhoEbBm9gB/YM7mEe3fHcDqYvMjPY3ZUf7Fo6K+gNe9Zrw+x6DXajHAks25w7 ozbWKAUbEemijSXBjUtnBu1h23oeCeYQ0cIG2Up2NdvNHmCfY7W6tZFAcA0+o5GxCCNF9KZay+rg 6uLV7LGJUal1RRa2trxn+cBydlntzGDd0nlBy9Lg0uKlry59b+mnSzWNS+EB/Ff7aO1ztaxUO7O4 VqoNZNVOq/Otd4Wd661gWS+ELesZQEGHyfpiy4SFsVgaLbssys9sCDPgAh6OweCR+nX5+SuOaSfW rojrIhfF4aZ47jrlW1qzMa65KU7Wb7yo4QjAt6J79u8nVf4V8dJ1DfGYP7oi3oIJSUkMYELwH3GR qmhfX38+/UB+Pqa34zfJ356PwE19KpSkykl+H/ShjeqjlSBfQVDzgN/5ShkClHqAtTf1EeVLKcxX Kym1+xLN0crqF014Nv0fkqnu2QplbmRzdHJlYW0KZW5kb2JqCgoyOCAwIG9iagoxMzk1NQplbmRv YmoKCjI5IDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQ0FBQUFBK0xpYmVy YXRpb25TZXJpZgovRmxhZ3MgNAovRm9udEJCb3hbLTU0MyAtMzAzIDEyNzcgOTgxXS9JdGFsaWNB bmdsZSAwCi9Bc2NlbnQgODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdodCA5ODEKL1N0ZW1WIDgw Ci9Gb250RmlsZTIgMjcgMCBSCj4+CmVuZG9iagoKMzAgMCBvYmoKPDwvTGVuZ3RoIDUwMS9GaWx0 ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxd1M9um0AQBvA7T8ExPUSwMwskkmXJsWPJh/5RnT4A hrWLVAPC+OC3L99821bqIdHHMrv+7TiTbHvYHfpuzr5NQ3MMc3ru+nYKt+E+NSE9hUvXJ07Stmvm +GS/m2s9Jtmy9/i4zeF66M/DapVk35d3t3l6pE+bdjiFT0n2dWrD1PWX9OnH9rg8H+/j+CtcQz+n ebJep204L+d8rscv9TVktuv50C6vu/nxvGz5V/DxGEMq9uxIaYY23Ma6CVPdX0KyyvN1utrv10no 2//elZ5bTufmZz0tpW4pzXO/Wy9ZLJcOWZnfkb3l6hW5sCw5csmaPXLFGlt/4XqB/Mp1Rd4w2/ob syBvWW81O2Zbf2f2yHvmlyW7nHtLZPrLLTL9Fepd9FtN9FfI9Je4i4t+3N3R7/G5jv4CHke/tzPp L9+Q6Rf0x9FfWE30b5Dp93YO/R69FfoLeIR+tXX6FT0U+gW9FfoVNon9h1mi386hX9AHoV/QK6Ff 4RH6BXcX+j36I/R7O4f+wgzRb/XRD49GP75HjX8/lun3+FylX3F3pV9wvtJf4b5Kf2X19Ct6qPR7 9Faj386nX+FR+hV+pV/tfPo97qvRj+9L6S/QQx/9HJA4CRgVzPKfEUyb+zQt42cDb3OHiev68Pd/ wjiM2GU/vwEPXAE6CmVuZHN0cmVhbQplbmRvYmoKCjMxIDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0 eXBlL1RydWVUeXBlL0Jhc2VGb250L0NBQUFBQStMaWJlcmF0aW9uU2VyaWYKL0ZpcnN0Q2hhciAw Ci9MYXN0Q2hhciA2NAovV2lkdGhzWzc3NyA4ODkgNDQzIDUwMCA1MDAgMjUwIDUwMCA1MDAgNDQz IDM4OSA1MDAgMzMzIDQ0MyA1MDAgNTAwIDUwMAo1MDAgMjc3IDI3NyAzMzMgNzIyIDI3NyA3Nzcg NjY2IDU1NiA3MjIgNTAwIDI1MCA2MTAgMjc3IDY2NiA3MjIKOTQzIDUwMCA1MDAgMjc3IDUwMCAz MzMgNTAwIDI1MCAzMzMgMjc3IDMzMyA1NTYgNzIyIDU1NiAzMzMgNzIyCjcyMiA2MTAgNzIyIDUw MCAxODAgNTAwIDUwMCA1MDAgNzIyIDUwMCA1MDAgNTAwIDUwMCAzODkgNzIyIDY2Ngo1MDAgXQov Rm9udERlc2NyaXB0b3IgMjkgMCBSCi9Ub1VuaWNvZGUgMzAgMCBSCj4+CmVuZG9iagoKMzIgMCBv YmoKPDwvTGVuZ3RoIDMzIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAxNTA0OD4+CnN0 cmVhbQp4nN16C3Qb1bXo2TP6y7JGsv6faOSJP4ljy4nyM/l4otiOg43txHGwnI+lWHJssC1hKQkJ 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 UDvpU0PjcPqo6ZPHTI2sc+C/zSfplaQWnD4+Rgu6DKOOrfLoHymMuh3Txm/eE52Yg1ppvkjK8dMk W46/SII0ai7On/Np5pzZi1w0DmI5TfVJUVvW0D5sx/p2bKGVyGt0Muknz5PLXKsGiA/iZC/eR/Fm YQC2ExfiIqQNekkXrCIrQMS3SABC+F6NZeldAyvIGNKtQPxKLC9H/DJMoUZ8BvCux3sv3gqixWeO phZpAvgOyOVqLM9DnqP4BHpL2HrESm9cyUMzvtfI7ybEN+K7US6vxTK+iQhq6V9M9HkIFGIznJyA oxNAJkAXuADkAhh+e26R72zwTNevg693kTOo65naMx1nxs5kzijPANv1OmvzJX4GvT87/zOm/WdQ /33wff/s9xnpv6dfP6kzNHWciJxInmCfXTPXR45D4Onepw88ffTps08rE/8DjE/5nmIST4HvyfYn J59kHz8S8hkf3vswc/RhSD4M9Q8D9xX+K7VfYZNfgfvu9fgCX67/MuP+B7j71pjv6F1wZ7vPR26N 3MocvBV8t8LBL8DNiBnYCdwOfgeTjkz6Ur2TviQ2nMB7ZM2kzxl0dKmDbJeKnfRJCn6rrybYdHIb nItCpHehr1cSuBXErVpD097NBzYf2sxu6qnyBXqA9ER6mIM97/Qwvh4oCZq7lNhzBUoysj62nm1n E+wB9gSr1nRe6fd1oJhE2962A23sVWsE35VreJ+xGcRmvbGpCRUxrvGtYTzN7i5b0NplAmMXFzR2 MYBOCZKugHHSyBiNvca9RtZI6glz0AZKOA4Hj23orKpqOa6eXN+SUXdsysDtmbJO6Smu68mobs+Q rp5N3ccA7grfun8/CXlbMgs6uzMRb7glE0NAlIAxBDjvMRsJhVOpdBW9IFVVla4ieFdtTdFyKr0D S2lSVZVKUQq8sZBOASJSiE/hG2EcOZKUFKTSmHTSUEVS0p3G8g6JWRKHiK0phJBBOvvKNVlFxdLW ckXpLyn/CYg7R3IKZW5kc3RyZWFtCmVuZG9iagoKMzMgMCBvYmoKOTAxMgplbmRvYmoKCjM0IDAg b2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkFBQUFBK0xpYmVyYXRpb25TZXJp Zi1Cb2xkCi9GbGFncyA0Ci9Gb250QkJveFstNTQzIC0zMDMgMTM0MyAxMDA3XS9JdGFsaWNBbmds ZSAwCi9Bc2NlbnQgODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdodCAxMDA3Ci9TdGVtViA4MAov Rm9udEZpbGUyIDMyIDAgUgo+PgplbmRvYmoKCjM1IDAgb2JqCjw8L0xlbmd0aCAzNTkvRmlsdGVy L0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnicXZJNboMwEEb3nMLLdBGBCZhEQkgpCRKL/qhpD0DsIUUq Bhmy4Pb1zNBW6gL0bM98PDEOy/pU224OX92gLzCLtrPGwTTcnQZxhVtnAxkL0+l5XdFb980YhL73 skwz9LVthzwPwjd/Ns1uEZujGa7wEIQvzoDr7E1sPsqLX1/u4/gFPdhZREFRCAOtz3lqxuemh5C6 trXxx928bH3LX8H7MoKIaS1ZRQ8GprHR4Bp7gyCPokLkVVUEYM2/s93acm31Z+N8qfSlUZSownNM nMXIO2KVIidcQ/spcbpDVryfIGfEcYS85xyqOTBTzpGZah45v0IueZ9yTrxPPmfOp5yK99FBRswH ZPZXEpn9FebI1f+EzP4Z1bO/OiOzf4bfkuyfoptkf4XfleyfUib7qz3y6n9EZn+VIa/+JfLqTw7s n0gayvr3cTx4f37GLvTdOT9yumQ0a5xyZ+H3Ho7DiF30fAPMC7PDCmVuZHN0cmVhbQplbmRvYmoK CjM2IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStM aWJlcmF0aW9uU2VyaWYtQm9sZAovRmlyc3RDaGFyIDAKL0xhc3RDaGFyIDMxCi9XaWR0aHNbNzc3 IDYxMCA0NDMgNDQzIDY2NiA1NTYgNzIyIDI1MCAzODkgNTU2IDU1NiA1MDAgMzMzIDMzMyA3MjIg NTU2CjI3NyA1MDAgNTU2IDgzMyA1MDAgNTU2IDUwMCA2MTAgNDQzIDY2NiA1NTYgMzMzIDUwMCAy NzcgOTQzIDcyMgpdCi9Gb250RGVzY3JpcHRvciAzNCAwIFIKL1RvVW5pY29kZSAzNSAwIFIKPj4K ZW5kb2JqCgozNyAwIG9iago8PC9GMSAzNiAwIFIvRjIgMzEgMCBSL0YzIDI2IDAgUgo+PgplbmRv YmoKCjM4IDAgb2JqCjw8L0ZvbnQgMzcgMCBSCi9YT2JqZWN0PDwvVHIxNCAxNCAwIFIvVHI0IDQg MCBSL1RyOSA5IDAgUj4+Ci9FeHRHU3RhdGU8PC9FR1MxMCAxMCAwIFIvRUdTMTUgMTUgMCBSL0VH UzUgNSAwIFI+PgovUHJvY1NldFsvUERGL1RleHQvSW1hZ2VDL0ltYWdlSS9JbWFnZUJdCj4+CmVu ZG9iagoKMSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIxIDAgUi9SZXNvdXJjZXMgMzggMCBS L01lZGlhQm94WzAgMCA2MTIgNzkyXS9Bbm5vdHNbCjE2IDAgUiAyMCAwIFIgXQovR3JvdXA8PC9T L1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMiAwIFI+PgplbmRv YmoKCjYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAyMSAwIFIvUmVzb3VyY2VzIDM4IDAgUi9N ZWRpYUJveFswIDAgNjEyIDc5Ml0vQW5ub3RzWwoxOSAwIFIgXQovR3JvdXA8PC9TL1RyYW5zcGFy ZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgNyAwIFI+PgplbmRvYmoKCjExIDAg b2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMjEgMCBSL1Jlc291cmNlcyAzOCAwIFIvTWVkaWFCb3hb MCAwIDYxMiA3OTJdL0Fubm90c1sKMTcgMCBSIDE4IDAgUiBdCi9Hcm91cDw8L1MvVHJhbnNwYXJl bmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxMiAwIFI+PgplbmRvYmoKCjIxIDAg b2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAzOCAwIFIKL01lZGlhQm94WyAwIDAgNjEyIDc5 MiBdCi9LaWRzWyAxIDAgUiA2IDAgUiAxMSAwIFIgXQovQ291bnQgMz4+CmVuZG9iagoKMTYgMCBv YmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzE1Ni45IDQ1 Mi40IDQ0MC45IDQ3MC44XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkvVVJJKGh0dHBzOi8vd3d3LmZy ZWVic2Qub3JnL3BsYXRmb3Jtcy9hcm0uaHRtbCk+Pgo+PgplbmRvYmoKCjE3IDAgb2JqCjw8L1R5 cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFsyMTUuMSAyNzguOSA0NTku NyAyOTcuM10vQTw8L1R5cGUvQWN0aW9uL1MvVVJJL1VSSShodHRwczovL2dpdGh1Yi5jb20vcHMw Njc1Ni9CSVRTX09TKT4+Cj4+CmVuZG9iagoKMTggMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBl L0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzIyMi4yIDI5Ny4zIDQ3OS43IDMxNS43XS9BPDwvVHlw ZS9BY3Rpb24vUy9VUkkvVVJJKGh0dHBzOi8vYml0YnVja2V0Lm9yZy9wczA2NzU2L2pvcy1rZXJu ZWwpPj4KPj4KZW5kb2JqCgoxOSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3Jk ZXJbMCAwIDBdL1JlY3RbNjEuNCAyMjAuMSA1MzQuNyAyMzguNV0vQTw8L1R5cGUvQWN0aW9uL1Mv VVJJL1VSSShodHRwczovL3d3dy51c2VuaXgub3JnL3N5c3RlbS9maWxlcy9jb25mZXJlbmNlL29z ZGkxMi9vc2RpMTItZmluYWwtNC5wZGYpPj4KPj4KZW5kb2JqCgoyMCAwIG9iago8PC9UeXBlL0Fu bm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNjEuNCA0MTUuNiAzODQuMyA0MzRd L0E8PC9UeXBlL0FjdGlvbi9TL1VSSS9VUkkoaHR0cHM6Ly93aWtpLmZyZWVic2Qub3JnL0ZyZWVC U0QvYXJtL0N1YmllYm9hcmQpPj4KPj4KZW5kb2JqCgozOSAwIG9iago8PC9UeXBlL0NhdGFsb2cv UGFnZXMgMjEgMCBSCi9PcGVuQWN0aW9uWzEgMCBSIC9YWVogbnVsbCBudWxsIDBdCi9MYW5nKGVu LVVTKQo+PgplbmRvYmoKCjQwIDAgb2JqCjw8L0NyZWF0b3I8RkVGRjAwNTcwMDcyMDA2OTAwNzQw MDY1MDA3Mj4KL1Byb2R1Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2NjAw NjkwMDYzMDA2NTAwMjAwMDM0MDAyRTAwMzM+Ci9DcmVhdGlvbkRhdGUoRDoyMDE1MDMxOTIwNTk1 MCswNSczMCcpPj4KZW5kb2JqCgp4cmVmCjAgNDEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDMy OTUyIDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAwMTU3OCAwMDAwMCBuIAowMDAw MDAxNTk5IDAwMDAwIG4gCjAwMDAwMDE3OTUgMDAwMDAgbiAKMDAwMDAzMzEyMSAwMDAwMCBuIAow MDAwMDAxODM1IDAwMDAwIG4gCjAwMDAwMDMxMzQgMDAwMDAgbiAKMDAwMDAwMzE1NSAwMDAwMCBu IAowMDAwMDAzMzUxIDAwMDAwIG4gCjAwMDAwMzMyODMgMDAwMDAgbiAKMDAwMDAwMzM5MiAwMDAw MCBuIAowMDAwMDA0OTgxIDAwMDAwIG4gCjAwMDAwMDUwMDMgMDAwMDAgbiAKMDAwMDAwNTIwMCAw MDAwMCBuIAowMDAwMDMzNTY3IDAwMDAwIG4gCjAwMDAwMzM3MzAgMDAwMDAgbiAKMDAwMDAzMzg4 NSAwMDAwMCBuIAowMDAwMDM0MDQ2IDAwMDAwIG4gCjAwMDAwMzQyMzggMDAwMDAgbiAKMDAwMDAz MzQ1NCAwMDAwMCBuIAowMDAwMDA1MjQxIDAwMDAwIG4gCjAwMDAwMDY3NjIgMDAwMDAgbiAKMDAw MDAwNjc4NCAwMDAwMCBuIAowMDAwMDA2OTc2IDAwMDAwIG4gCjAwMDAwMDcyNjcgMDAwMDAgbiAK MDAwMDAwNzQyOCAwMDAwMCBuIAowMDAwMDIxNDcwIDAwMDAwIG4gCjAwMDAwMjE0OTMgMDAwMDAg biAKMDAwMDAyMTY5MCAwMDAwMCBuIAowMDAwMDIyMjYxIDAwMDAwIG4gCjAwMDAwMjI2ODAgMDAw MDAgbiAKMDAwMDAzMTc3OSAwMDAwMCBuIAowMDAwMDMxODAxIDAwMDAwIG4gCjAwMDAwMzIwMDUg MDAwMDAgbiAKMDAwMDAzMjQzNCAwMDAwMCBuIAowMDAwMDMyNzI2IDAwMDAwIG4gCjAwMDAwMzI3 NzkgMDAwMDAgbiAKMDAwMDAzNDQwMyAwMDAwMCBuIAowMDAwMDM0NTAxIDAwMDAwIG4gCnRyYWls ZXIKPDwvU2l6ZSA0MS9Sb290IDM5IDAgUgovSW5mbyA0MCAwIFIKL0lEIFsgPEQ4MDk2OUYwQzdB QTZGQzFCNjY5RjA4OTYzRjY5QTY5Pgo8RDgwOTY5RjBDN0FBNkZDMUI2NjlGMDg5NjNGNjlBNjk+ IF0KL0RvY0NoZWNrc3VtIC8xNEVDRTczNjg4OEQ5NjM1MTY0NUY5NzY5MTIwRDZBQQo+PgpzdGFy dHhyZWYKMzQ2NzYKJSVFT0YK --bcaec548a50b2c20690511a7d593-- From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 22:06:21 2015 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CF64078F for ; Thu, 19 Mar 2015 22:06:21 +0000 (UTC) Received: from mail-wi0-x231.google.com (mail-wi0-x231.google.com [IPv6:2a00:1450:400c:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5E558F0F for ; Thu, 19 Mar 2015 22:06:21 +0000 (UTC) Received: by wifj2 with SMTP id j2so2539120wif.1 for ; Thu, 19 Mar 2015 15:06:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:importance:mime-version :content-type:content-transfer-encoding; bh=SoH1DPoSrvGc1HgfCplSzbK5V3QgSLT5u5KCjj5h6xw=; b=gzKNC8Spyweg9TkOq2MD/oFyJ/duu+DSh6KGg8fr1Be4BJPXDcPC2yRfjRs4po7GBC kTIIbXmIXtWJyf32fl0aYVZ37B26bAPskk3YZrHJei1fnAV8+tCOMo/xWdctF8QOMg7J DXGi6Pj1UXakZ/8Y3vrR2gWFoYEqE8o7PNxIUqh7ETJBqzIYVYleZivD21Otcg/APaHw k1cG2roBhcoDRJLvOv70VxMfOBIvOBgUYnzmtewFsW9nA57E86SxVpXe38SWMfSJ5nxy 50/OCNYb/AeqP684nUev6D5sQQXhUlHloBw6D9NDPb1eChchTihLIq/e8YZ99ZuRWlqX Q20A== X-Received: by 10.180.104.200 with SMTP id gg8mr414040wib.8.1426802779695; Thu, 19 Mar 2015 15:06:19 -0700 (PDT) Received: from localhost (93-138-110-222.adsl.net.t-com.hr. [93.138.110.222]) by mx.google.com with ESMTPSA id cj9sm3678206wjc.42.2015.03.19.15.06.18 for (version=SSLv3 cipher=RC4-SHA bits=128/128); Thu, 19 Mar 2015 15:06:19 -0700 (PDT) Date: Thu, 19 Mar 2015 23:06:13 +0100 From: To: hackers@freebsd.org Subject: net rc.conf bug? Message-ID: <20150319230613.000074b1@gmail.com> Importance: high X-Priority: 2 (High) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 22:06:21 -0000 10.1-RELEASE-p6 i386 /etc/rc.conf ---- # TO DO: Setting ether as prefix OR suffix to inet, WON'T set IP to NIC ifconfig_em0="inet 10.232.191.1/22" ---- Can someone confirm? This nuked PF, which in turn disbled NAT, which in turn ... :P Domagoj S. From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 19 22:15:39 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F3A23B45 for ; Thu, 19 Mar 2015 22:15:38 +0000 (UTC) Received: from mx1.scaleengine.net (beauharnois2.bhs1.scaleengine.net [142.4.218.15]) by mx1.freebsd.org (Postfix) with ESMTP id CCD5270 for ; Thu, 19 Mar 2015 22:15:38 +0000 (UTC) Received: from [192.168.1.2] (Seawolf.HML3.ScaleEngine.net [209.51.186.28]) (Authenticated sender: allanjude.freebsd@scaleengine.com) by mx1.scaleengine.net (Postfix) with ESMTPSA id E0A369E75A for ; Thu, 19 Mar 2015 22:15:36 +0000 (UTC) Message-ID: <550B4A9D.1080602@freebsd.org> Date: Thu, 19 Mar 2015 18:15:57 -0400 From: Allan Jude User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Re: net rc.conf bug? References: <20150319230613.000074b1@gmail.com> In-Reply-To: <20150319230613.000074b1@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="HEjLSt3g3aaJ5pA4lamOgRwXM6QChGC1N" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2015 22:15:39 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --HEjLSt3g3aaJ5pA4lamOgRwXM6QChGC1N Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 2015-03-19 18:06, rank1seeker@gmail.com wrote: > 10.1-RELEASE-p6 i386 >=20 > /etc/rc.conf > ---- > # TO DO: Setting ether as prefix OR suffix to inet, WON'T set IP to NIC= > ifconfig_em0=3D"inet 10.232.191.1/22" > ---- >=20 > Can someone confirm? > This nuked PF, which in turn disbled NAT, which in turn ... > :P >=20 >=20 > Domagoj S. > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.o= rg" >=20 Not sure what you are asking. ifconfig_em1=3D" inet 94.100.23.178/29" ifconfig_em1_alias0=3D" inet 94.100.23.179/32" works prefectly fine for me --=20 Allan Jude --HEjLSt3g3aaJ5pA4lamOgRwXM6QChGC1N Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQIcBAEBAgAGBQJVC0qfAAoJEJrBFpNRJZKfuJwQAKxIER/f8cUnXlDQIyoH2cxE aURlqwSbIWl+nE1QTFNlRoolXv6Nly/MLyrSmz9ERZsaAGKh3/cStboI9xhv2LUm xsBSYX+cmiQKt95ivmW/PPHx3JbrI8jgihoBsfxPYzVzjNQciMrJletU33lVEAEA 1YFxsIlZN/nnqQUHaTTf0Ww+L3i85R1AUdpJ53S4LIDLH4je2m/UNxDiFn0EQ23l 3ceNw+t+jWuTM1KA9ONmSsshRMazJ/KUeAjtcEvLLWCBKZQ3eh7yBp4EP7p2wz4O eTvgiOtOzmeKwpVWv6OEhSunSQRZJ0htQpD0K8I6Jzs5FRxA7AdMWjRozljojnm6 xmN5VDL1Kmmc/VsJgVDDHaegdpWMZqIhGZ4u5vp3grx6JAeH3mFEOvwR5L56Rulm dPb8dYAaILWC9/MOsuBgq+JZP/H7Uc5y6lpajh/JheaIfxEZItTYNI2TpJ787OET tElxQshMT+WpR2awIlVFqrXo2dxeY3rVljfnscb8JDDR2+T22sUmfYWJ9oZmq8xH ksy8cz1u3iwBVGYwGpG/K1dePaHuxE16ZudAB/Zi+Z+c5ek2G/eiCx7ZyTiTZgdh w6IxVZfL/kPELf74ugV2XUlzFY43f2UPHaLGrguws8HxZ5q/2MTdlCGHXpOXl0mg 0o/Rmp+SihGWDg7157Yu =QzRR -----END PGP SIGNATURE----- --HEjLSt3g3aaJ5pA4lamOgRwXM6QChGC1N-- From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 00:05:08 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 46D8F9B8 for ; Fri, 20 Mar 2015 00:05:08 +0000 (UTC) Received: from ustc.edu.cn (email6.ustc.edu.cn [IPv6:2001:da8:d800::8]) by mx1.freebsd.org (Postfix) with ESMTP id AC040E0E for ; Fri, 20 Mar 2015 00:05:07 +0000 (UTC) Received: from freebsd (unknown [58.211.218.74]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygBXCD0oZAtVhyK2Aw--.22783S2; Fri, 20 Mar 2015 08:05:04 +0800 (CST) Date: Fri, 20 Mar 2015 08:04:41 +0800 From: Tiwei Bie To: Konstantin Belousov Subject: Re: [PATCH] Finish the task 'Fix corefilename race' Message-ID: <20150320000418.GA78913@freebsd> References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> <20150319101019.GZ2379@kib.kiev.ua> <20150319113530.GA33176@freebsd> <20150319144004.GD2379@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20150319144004.GD2379@kib.kiev.ua> User-Agent: Mutt/1.5.23 (2014-03-12) X-CM-TRANSID: LkAmygBXCD0oZAtVhyK2Aw--.22783S2 X-Coremail-Antispam: 1UD129KBjvJXoW3GrW8Jw1UGw4DGrWDtFykuFg_yoW7XF18pF ZYkFyrArs5Cr45Cr1Sva1FkFn0y348tr4DW347Xa1YyrnYqrykXF1rtr1F9F1kWrn2934q qa15XrZxKryjvaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkjb7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC 0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr 1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcVAKI48JMxkIecxEwVAFwVWDMxAIw28IcxkI 7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6x AIw20EY4v20xvaj40_WFyUJVCq3wCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv 6xkF7I0E14v26r1j6r4UYxBIdaVFxhVjvjDU0xZFpf9x07brXd8UUUUU= X-CM-SenderInfo: xewzqzxdloh3xvwfhvlgxou0/1tbiAQUNAVQhl-muRQAHs- Cc: freebsd-hackers@freebsd.org, mjguzik@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 00:05:08 -0000 On Thu, Mar 19, 2015 at 04:40:04PM +0200, Konstantin Belousov wrote: > On Thu, Mar 19, 2015 at 07:35:30PM +0800, Tiwei Bie wrote: > > On Thu, Mar 19, 2015 at 12:10:19PM +0200, Konstantin Belousov wrote: > > > On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: > > > > Hi, Mateusz! > > > > > > > > I have finished the task: Fix corefilename race [1]. > > > > > > > > Following is my patch: > > > > > > > > --- > > > > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- > > > > 1 file changed, 20 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > > > > index 58d9707..a1421cb 100644 > > > > --- a/sys/kern/kern_sig.c > > > > +++ b/sys/kern/kern_sig.c > > > > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; > > > > #endif > > > > > > > > static char corefilename[MAXPATHLEN] = {"%N.core"}; > > > > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > > > > - sizeof(corefilename), "Process corefile name format string"); > > > > + > > > > +static struct sx corefilename_lock; > > > > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); > > > > + > > > > +static int > > > > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > > > > +{ > > > > + int error; > > > > + > > > > + sx_xlock(&corefilename_lock); > > > > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > > > > + sx_xunlock(&corefilename_lock); > > > > + > > > > + return (error); > > > > +} > > > > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > > > > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", > > > > + "Process corefile name format string"); > > > > > > > > /* > > > > * corefile_open(comm, uid, pid, td, compress, vpp, namep) > > > > @@ -3120,6 +3136,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > > > > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); > > > > indexpos = -1; > > > > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); > > > > + sx_slock(&corefilename_lock); > > > > for (i = 0; format[i] != '\0'; i++) { > > > > switch (format[i]) { > > > > case '%': /* Format character */ > > > > @@ -3162,6 +3179,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > > > > break; > > > > } > > > > } > > > > + sx_sunlock(&corefilename_lock); > > > > free(hostname, M_TEMP); > > > > if (compress) > > > > sbuf_printf(&sb, GZ_SUFFIX); > > > > > > So the race is between somebody setting the core path string and another > > > process coredumping, am I right ? > > > > > > > Yeah, you are right! > > > > > If you, could you try to reuse some existing lock for the task ? It is a > > > waste to have sx dedicated to the task, which is probably never used by > > > 99% of the machines in the world. > > > > Yeah, of course. After a quick `grep'ing, I found the sx lock: allprison_lock, > > which is defined in kern/kern_jail.c. It is rarely acquired as an exclusive > > lock, and is not defined as a static variable. So I think it will be a good > > candidate for this task. > > I think it is too quick grepping. allprison_lock is completely unrelated > to the process management. Please consider to utilize some lock used > for the process management. Well, this time I found allproc_lock (defined in kern/kern_proc.c), which is used to protect the process list. I think it may be a better choice. Here is the new patch: --- sys/kern/kern_sig.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 58d9707..cac2ea0 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3089,9 +3089,27 @@ SYSCTL_INT(_kern, OID_AUTO, compress_user_cores_gzlevel, CTLFLAG_RWTUN, static int compress_user_cores = 0; #endif +/* + * Protect the access to corefilename[] by allproc_lock. + */ +#define corefilename_lock allproc_lock + static char corefilename[MAXPATHLEN] = {"%N.core"}; -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, - sizeof(corefilename), "Process corefile name format string"); + +static int +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) +{ + int error; + + sx_xlock(&corefilename_lock); + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); + sx_xunlock(&corefilename_lock); + + return (error); +} +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", + "Process corefile name format string"); /* * corefile_open(comm, uid, pid, td, compress, vpp, namep) @@ -3120,6 +3138,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); indexpos = -1; (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); + sx_slock(&corefilename_lock); for (i = 0; format[i] != '\0'; i++) { switch (format[i]) { case '%': /* Format character */ @@ -3162,6 +3181,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, break; } } + sx_sunlock(&corefilename_lock); free(hostname, M_TEMP); if (compress) sbuf_printf(&sb, GZ_SUFFIX); -- 2.1.2 Best regards, Tiwei Bie From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 00:20:47 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 06299C14 for ; Fri, 20 Mar 2015 00:20:47 +0000 (UTC) Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 888F2F18 for ; Fri, 20 Mar 2015 00:20:46 +0000 (UTC) Received: by wgbcc7 with SMTP id cc7so76170634wgb.0 for ; Thu, 19 Mar 2015 17:20:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:in-reply-to:references:importance :mime-version:content-type:content-transfer-encoding; bh=8/9cIpiFRCCEJ2RbFUFzDBfmWkzENxt3PExRNU9iRnA=; b=mtfGPBLowyeuth+TLan9+OJFwYKZhCoMasOFYPSF1HxjqWZwP9UeoaoUHWCORQapxp sMnG9Qe6lOhsIDpdHTedPsENDWE3XLYx+CUJlQ9V8kAZ8I4XYguUlM+ZWmV22e84w50x Lv3UMKCEE0imK2mmwlmjMg+i4EUfuGXeFOxI3xPo5PxVydu8eMYz+ifQvHcwQnYBD/Na 0eUf7653wEJeSic3ifw9L+IQe/3680oHeCZb+1eNeoAkIavrKUe6xKurlLJogQ7FrTaO tspDU/yZDowy9VDU7Iqa45HitF8BgjIFa2fn0KetiMvHObDyultcphpaPRKhwH4CYLeO 6xKA== X-Received: by 10.180.76.77 with SMTP id i13mr21064892wiw.6.1426810844752; Thu, 19 Mar 2015 17:20:44 -0700 (PDT) Received: from localhost ([217.14.212.217]) by mx.google.com with ESMTPSA id ka1sm4078424wjc.2.2015.03.19.17.20.43 for (version=SSLv3 cipher=RC4-SHA bits=128/128); Thu, 19 Mar 2015 17:20:44 -0700 (PDT) Date: Fri, 20 Mar 2015 01:20:41 +0100 From: To: freebsd-hackers@freebsd.org Subject: Re: net rc.conf bug? Message-ID: <20150320012041.00006251@gmail.com> In-Reply-To: <550B4A9D.1080602@freebsd.org> References: <20150319230613.000074b1@gmail.com> <550B4A9D.1080602@freebsd.org> Importance: high X-Priority: 2 (High) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 00:20:47 -0000 On Thu, 19 Mar 2015 18:15:57 -0400 Allan Jude wrote: > On 2015-03-19 18:06, rank1seeker@gmail.com wrote: > > 10.1-RELEASE-p6 i386 > > > > /etc/rc.conf > > ---- > > # TO DO: Setting ether as prefix OR suffix to inet, WON'T set IP to > > NIC ifconfig_em0="inet 10.232.191.1/22" > > ---- > > > > Can someone confirm? > > This nuked PF, which in turn disbled NAT, which in turn ... > > :P > > > > > > Domagoj S. > > _______________________________________________ > > freebsd-hackers@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > > To unsubscribe, send any mail to > > "freebsd-hackers-unsubscribe@freebsd.org" > > > > Not sure what you are asking. > ifconfig_em1=" inet 94.100.23.178/29" > ifconfig_em1_alias0=" inet 94.100.23.179/32" > > works prefectly fine for me > Of course it does, as it doesn't have 'ether' specified. Try this: ifconfig_em1="ether 00:90:99:8f:da:6f inet 94.100.23.178/29" and/or ifconfig_em1="inet 94.100.23.178/29 ether 00:90:99:8f:da:6f" While this should work: ifconfig_em1="ether 00:90:99:8f:da:6f DHCP" From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 02:28:08 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ED1037BA for ; Fri, 20 Mar 2015 02:28:08 +0000 (UTC) Received: from mail-oi0-x231.google.com (mail-oi0-x231.google.com [IPv6:2607:f8b0:4003:c06::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B9427E52 for ; Fri, 20 Mar 2015 02:28:08 +0000 (UTC) Received: by oier21 with SMTP id r21so81024273oie.1 for ; Thu, 19 Mar 2015 19:28:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=XVAiJ01ERnB63a5T2x/WeKcWOfApVyJMWKonbWQEGv8=; b=01igQXrly+pwniBNi6ezZL3AJI/IiISoiKY8Y6mrzP24RXpk0fsah7swMF5cjBKxl/ zpmB/k7E5paIGW+OF8PVwRx41tgHCMSQtmljYmMYmJcmODn45qR1KvjqhywGrpZixo0c a781RzhrRcdMo+xNJfK4oJg7MdQNY0G7itARsdTEm/KIF/gM6nyo9yCAD5etDdnfrltc c3hUDCHkM0P1LD4RYvIhmzDPyxQwLAnpSiQ3/iOZgnJg5w6uIRzCRCK8CzTx+EdSY6EC sU1+KsvjUEOUmFIS8PFu9hZ6R8ll164CzE75qA4gnd7MIcnBF505k3iMI88iHNpehU7t 5MwQ== MIME-Version: 1.0 X-Received: by 10.60.70.161 with SMTP id n1mr63655175oeu.28.1426818487921; Thu, 19 Mar 2015 19:28:07 -0700 (PDT) Received: by 10.182.13.33 with HTTP; Thu, 19 Mar 2015 19:28:07 -0700 (PDT) In-Reply-To: References: Date: Fri, 20 Mar 2015 10:28:07 +0800 Message-ID: Subject: Re: Google summer of code proposal From: Ganbold Tsagaankhuu To: Pratik Singhal Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-hackers X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 02:28:09 -0000 Pratik, On Fri, Mar 20, 2015 at 1:49 AM, Pratik Singhal wrote: > Hello everybody, I am interested in improving support of freebsd kernel on > CubieBoard which I intend to do as a part of Google Summer of Code 2015 . > For that , I have prepared a proposal . Currently, no mentor is assigned to > the project. I thought it would be wise to get the proposal community > reviewed and therefore, I am attatching the proposal as a part of this > mail. > > I would be really grateful, if people can review the proposal and provide > their valuable feedback on the same. > As for mmc/sd driver, initial version was wrote by Alexander Fedorov (you can search for arm@ mailing list) and then by Martin Galvan ( https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196081). It probably needs testing and fixing if there are some bugs. I forgot to mention ahci driver exist, Warner wrote it ( https://reviews.freebsd.org/D737) and I think it needs testing too. Maybe you could make both above work well fixing them if necessary. Plus it could be very useful to have framebuffer, hdmi drivers, but not sure how hard to bring up those. NetBSD has those drivers, so maybe needs to port them to FreeBSD. Ganbold > > Regards, > Pratik Singhal > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 02:36:32 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EBE49A41 for ; Fri, 20 Mar 2015 02:36:32 +0000 (UTC) Received: from mx1.scaleengine.net (beauharnois2.bhs1.scaleengine.net [142.4.218.15]) by mx1.freebsd.org (Postfix) with ESMTP id C437EF23 for ; Fri, 20 Mar 2015 02:36:32 +0000 (UTC) Received: from [192.168.1.2] (Seawolf.HML3.ScaleEngine.net [209.51.186.28]) (Authenticated sender: allanjude.freebsd@scaleengine.com) by mx1.scaleengine.net (Postfix) with ESMTPSA id 3126B9EBB4 for ; Fri, 20 Mar 2015 02:36:31 +0000 (UTC) Message-ID: <550B87C4.5080808@freebsd.org> Date: Thu, 19 Mar 2015 22:36:52 -0400 From: Allan Jude User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Re: net rc.conf bug? References: <20150319230613.000074b1@gmail.com> <550B4A9D.1080602@freebsd.org> <20150320012041.00006251@gmail.com> In-Reply-To: <20150320012041.00006251@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="s1gn0u87Ln4RCBHlVuQpN6FfkbScpQROx" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 02:36:33 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --s1gn0u87Ln4RCBHlVuQpN6FfkbScpQROx Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 2015-03-19 20:20, rank1seeker@gmail.com wrote: > On Thu, 19 Mar 2015 18:15:57 -0400 > Allan Jude wrote: >=20 >> On 2015-03-19 18:06, rank1seeker@gmail.com wrote: >>> 10.1-RELEASE-p6 i386 >>> >>> /etc/rc.conf >>> ---- >>> # TO DO: Setting ether as prefix OR suffix to inet, WON'T set IP to >>> NIC ifconfig_em0=3D"inet 10.232.191.1/22" >>> ---- >>> >>> Can someone confirm? >>> This nuked PF, which in turn disbled NAT, which in turn ... >>> :P >>> >>> >>> Domagoj S. >>> _______________________________________________ >>> freebsd-hackers@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers >>> To unsubscribe, send any mail to >>> "freebsd-hackers-unsubscribe@freebsd.org" >>> >> >> Not sure what you are asking. >> ifconfig_em1=3D" inet 94.100.23.178/29" >> ifconfig_em1_alias0=3D" inet 94.100.23.179/32" >> >> works prefectly fine for me >> >=20 > Of course it does, as it doesn't have 'ether' specified. > Try this: >=20 > ifconfig_em1=3D"ether 00:90:99:8f:da:6f inet 94.100.23.178/29" > and/or > ifconfig_em1=3D"inet 94.100.23.178/29 ether 00:90:99:8f:da:6f" >=20 >=20 > While this should work: > ifconfig_em1=3D"ether 00:90:99:8f:da:6f DHCP" > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.o= rg" >=20 that specifically sets the MAC address. not sure why that would be requir= ed. --=20 Allan Jude --s1gn0u87Ln4RCBHlVuQpN6FfkbScpQROx Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQIcBAEBAgAGBQJVC4fGAAoJEJrBFpNRJZKf4UgP/iVhrhJ9RYUjLhEmWe+leiZV KhrQaq7U3GDbCcBC5LGMR7mCbA6C0eG93fjGxTr6ZjAcSyE/KwRtdvNdJOf3GnVN H5yxeoTXWUn6W1H13l+ZJhmIphRLcvMQ672OD0FFSxUFzbQYrw4R7DDNnTH6/yfR NRMYBE/W6DL26XE7gKXcSHX0lt/9kodaQWGyO3+RvCS9U0gFBXDQdchEiEEyhr9P CprWK1RY8Nizh8FUWKJqcww1Plv2gbbjTgrcACe2lkNErpIc68NZdtVOT7kLtS0h ZtHGHrWPhqE1WAOsqrfeh9lnwNSFpeJwtjvEHoJwVSKaMI4SvFiddpNx6Y+1DfgP az9l95OmXlgEnMUjKlDoqNcIz/fPzS1saprRy5D+V4no36fTa+j55MfEhs322E3g A1V3m52gsEQhJ4B7A5HMLF6zqgR2bUy8UMDWIEy5hafh81Z0ABvXZd7c9gQlXR/A oHnJRvWbWRCXYdKryO1iGO8Yg0GbF1y5+B5XG7jn+gqEXitt+9fARyn7V7C85qaX avfjN9gRF0HYLsxv5SzmsSRL/cjiI0Hur53bpmTvmeYgUBv33wGT7twc1CCVl2mQ 3IuFmEXwjxlykPpMbcrj16Nvdc1RycS5NH242Gf/EF3KgimunVGGPOc3rOB6oW8R ZrmYpi+NP9rGosELLHRJ =a1La -----END PGP SIGNATURE----- --s1gn0u87Ln4RCBHlVuQpN6FfkbScpQROx-- From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 02:40:00 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04D6DB42 for ; Fri, 20 Mar 2015 02:40:00 +0000 (UTC) Received: from mwork.nabble.com (mwork.nabble.com [162.253.133.43]) by mx1.freebsd.org (Postfix) with ESMTP id E16ABF37 for ; Fri, 20 Mar 2015 02:39:59 +0000 (UTC) Received: from msam.nabble.com (unknown [162.253.133.85]) by mwork.nabble.com (Postfix) with ESMTP id C94C817F1A9D for ; Thu, 19 Mar 2015 19:40:05 -0700 (PDT) Date: Thu, 19 Mar 2015 19:39:52 -0700 (MST) From: sson To: freebsd-hackers@freebsd.org Message-ID: <1426819192856-5998370.post@n5.nabble.com> In-Reply-To: <20150309190119.GC72806@spindle.one-eyed-alien.net> References: <20150309190119.GC72806@spindle.one-eyed-alien.net> Subject: Re: UFS endian conversion MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 02:40:00 -0000 Brooks Davis-2 wrote > On Mon, Mar 09, 2015 at 02:11:02PM +0100, Wojciech Puchar wrote: >> is it possible without backup/restore? >> >> any tool? >> >> or do i miss something in fsck_ffs manual? > > You would need to backup on the source endian and restore on the > destination. Stacey Son (cc'd) has some patches to allow access to UFS > file systems of non-native endian that need someone to help polishing > them up. > > -- Brooks > > > attachment0 (188 bytes) > <http://freebsd.1045724.n5.nabble.com/attachment/5995345/0/attachment0> (Sorry, I have been on vacation and then started having #mbp2011 issues with my laptop so I am just catching up.) I just rebased my patches to something a little closer to -current. You can find my preliminary changes here: https://github.com/staceyson/freebsd/commit/642ad5aec8e9d130cdd347699da9718b23ff749a This provides enough support for the somewhat trivial case (e.g. ro, no soft updates, etc.). This, indeed, needs more polishing. -stacey. -- View this message in context: http://freebsd.1045724.n5.nabble.com/UFS-endian-conversion-tp5995230p5998370.html Sent from the freebsd-hackers mailing list archive at Nabble.com. From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 02:45:07 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 388CCD3B for ; Fri, 20 Mar 2015 02:45:07 +0000 (UTC) Received: from mail-yk0-x236.google.com (mail-yk0-x236.google.com [IPv6:2607:f8b0:4002:c07::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E491BFF9 for ; Fri, 20 Mar 2015 02:45:06 +0000 (UTC) Received: by ykcn8 with SMTP id n8so36333634ykc.3 for ; Thu, 19 Mar 2015 19:45:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=3wvqDv2o43ravzC4Dgi78f4j+ZabGZ1v2DAOYOTi5as=; b=z8N4+e7PRV9+uaHr+v6XBGgeg4imnk5zdvBOgEPPnvex6Z9PvIlgGD2fecCOJF8RL9 rpNu45/l8Rv5hew4TBj48q3S2IvhG5YqJSZTugg1VSnz2spoBiBbhbRUxiScMS9blFBy wkiPELIoWl1il00uMJwdEeytC26wNb3A3pBbYTjQO5jEipQTkpaNGab/lgUboPf56Z4C D5wl1eH0lesLP5WKzV+W7jcu+4oJR4OLDobSy+seaWeReQ1zGdTQqfXGIG7YmGY7t25x qS6OKa0CBVtZBr5SQ+PYGCkSjw+nXwUeuWKTbhYDTrr5b/mwR5hhbDvNAHPuwHBvulCR pzxA== MIME-Version: 1.0 X-Received: by 10.170.155.198 with SMTP id w189mr42795264ykc.123.1426819506036; Thu, 19 Mar 2015 19:45:06 -0700 (PDT) Received: by 10.170.79.87 with HTTP; Thu, 19 Mar 2015 19:45:05 -0700 (PDT) Received: by 10.170.79.87 with HTTP; Thu, 19 Mar 2015 19:45:05 -0700 (PDT) In-Reply-To: <20150320012041.00006251@gmail.com> References: <20150319230613.000074b1@gmail.com> <550B4A9D.1080602@freebsd.org> <20150320012041.00006251@gmail.com> Date: Thu, 19 Mar 2015 19:45:05 -0700 Message-ID: Subject: Re: net rc.conf bug? From: Freddie Cash To: rank1seeker@gmail.com Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: FreeBSD Hackers X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 02:45:07 -0000 On Mar 19, 2015 5:20 PM, wrote: > > On Thu, 19 Mar 2015 18:15:57 -0400 > Allan Jude wrote: > > > On 2015-03-19 18:06, rank1seeker@gmail.com wrote: > > > 10.1-RELEASE-p6 i386 > > > > > > /etc/rc.conf > > > ---- > > > # TO DO: Setting ether as prefix OR suffix to inet, WON'T set IP to > > > NIC ifconfig_em0="inet 10.232.191.1/22" > > > ---- > > > > > > Can someone confirm? > > > This nuked PF, which in turn disbled NAT, which in turn ... > > > :P > > > > > > > > > Domagoj S. > > > _______________________________________________ > > > freebsd-hackers@freebsd.org mailing list > > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > > > To unsubscribe, send any mail to > > > "freebsd-hackers-unsubscribe@freebsd.org" > > > > > > > Not sure what you are asking. > > ifconfig_em1=" inet 94.100.23.178/29" > > ifconfig_em1_alias0=" inet 94.100.23.179/32" > > > > works prefectly fine for me > > > > Of course it does, as it doesn't have 'ether' specified. > Try this: > > ifconfig_em1="ether 00:90:99:8f:da:6f inet 94.100.23.178/29" > and/or > ifconfig_em1="inet 94.100.23.178/29 ether 00:90:99:8f:da:6f" If you split it into two it should always work. It's been many years since I had to do this (replaced nic in a firewall connected to DSL with IP locked to mac) but this used to work in one line. ifconfig_em1="ether 00:90:99:8f:da:6f" ifconfig_em1_alias0="inet 94.100.23.179/29" From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 02:54:08 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8C610A5; Fri, 20 Mar 2015 02:54:08 +0000 (UTC) Received: from mail-qg0-x232.google.com (mail-qg0-x232.google.com [IPv6:2607:f8b0:400d:c04::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 45A6C11F; Fri, 20 Mar 2015 02:54:08 +0000 (UTC) Received: by qgew92 with SMTP id w92so7374504qge.2; Thu, 19 Mar 2015 19:54:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=u3F+ckeG7JZE4UNqgYk1Vimr1pVlNx0oMIEPRYG3VhA=; b=lJJ8U0jFEGizJuAOgJPX2cgthUGZTxVvodRY6YK0U+ni8hDU4LPDDhVBQCeYnAt4tW Jpr171INeBreJ4RetUwOknCKkmCgENIuDLM6Kb4BVgkbsProAoigCO+sRuGwBeafAMhZ PSda8sJw0h8NITVcRqnEk4SWHyaR9D1XDwKcxjLHWuptSwuMirvVe8c87mjozM5wPcBD kIz3HzSi2IPVevlfmK+93sby0+fE+g0D93RgwzA0Gnkz3IkrMPE76cz9EgNa84gNFdVP wZO/VA8vPihqlgywwtXKSZ7bljYVKC3VXovv8DX8mhNVaxfpxqVM1JtZR9wOphRc8iQj 8WNw== MIME-Version: 1.0 X-Received: by 10.55.50.203 with SMTP id y194mr108547994qky.8.1426820047402; Thu, 19 Mar 2015 19:54:07 -0700 (PDT) Received: by 10.140.94.99 with HTTP; Thu, 19 Mar 2015 19:54:07 -0700 (PDT) In-Reply-To: <550B87C4.5080808@freebsd.org> References: <20150319230613.000074b1@gmail.com> <550B4A9D.1080602@freebsd.org> <20150320012041.00006251@gmail.com> <550B87C4.5080808@freebsd.org> Date: Thu, 19 Mar 2015 19:54:07 -0700 Message-ID: Subject: Re: net rc.conf bug? From: NGie Cooper To: Allan Jude Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 02:54:08 -0000 On Thu, Mar 19, 2015 at 7:36 PM, Allan Jude wrote: ... > that specifically sets the MAC address. not sure why that would be required. if_lagg/if_tap tricks? From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 05:48:28 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8E28639A for ; Fri, 20 Mar 2015 05:48:28 +0000 (UTC) Received: from mail-ig0-x22b.google.com (mail-ig0-x22b.google.com [IPv6:2607:f8b0:4001:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 516E4372 for ; Fri, 20 Mar 2015 05:48:28 +0000 (UTC) Received: by igcau2 with SMTP id au2so9656684igc.0 for ; Thu, 19 Mar 2015 22:48:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=WkXxYufDemNl6Q1onwNf40yMvLpUKV+vu6Z0rb4JPqM=; b=iBy44zMbMafqyspDu5hQRQP/cRNWSmeBAC247sItZIGXWXFDLdcmDa1LveYnJgsSYy flYNYjjDcfyMhXPnnG6PyhCeTc8BR19UNkygRmVmdzxdwiNjzoEhIIN/aJz8Z80momSh nEE5e7tvQrLjx+gm57ylUwVOuw7jzfYM+s6iKKBALrYLJ8yunmZGtF4SONf6qFoc6QrT lDo6dN/Rghned7Yw7539wkHRIC8lmsfkrkFlo2OmsWpIr4LRLP3xlifSaYUaVZ64NIJ4 ORA+jLX6PDyO62S+/m16WSfawBs3zwmDIgkFWk+4ZdQIBGuIfn4CMnLsCG+3NcJmXrna z4+A== MIME-Version: 1.0 X-Received: by 10.51.17.7 with SMTP id ga7mr22164750igd.42.1426830507696; Thu, 19 Mar 2015 22:48:27 -0700 (PDT) Received: by 10.36.30.75 with HTTP; Thu, 19 Mar 2015 22:48:27 -0700 (PDT) In-Reply-To: <20150320000418.GA78913@freebsd> References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> <20150319101019.GZ2379@kib.kiev.ua> <20150319113530.GA33176@freebsd> <20150319144004.GD2379@kib.kiev.ua> <20150320000418.GA78913@freebsd> Date: Fri, 20 Mar 2015 11:18:27 +0530 Message-ID: Subject: Re: [PATCH] Finish the task 'Fix corefilename race' From: Prasad Joshi To: Tiwei Bie Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , freebsd-hackers@freebsd.org, mjguzik@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 05:48:28 -0000 On Fri, Mar 20, 2015 at 5:34 AM, Tiwei Bie wrote: > On Thu, Mar 19, 2015 at 04:40:04PM +0200, Konstantin Belousov wrote: >> On Thu, Mar 19, 2015 at 07:35:30PM +0800, Tiwei Bie wrote: >> > On Thu, Mar 19, 2015 at 12:10:19PM +0200, Konstantin Belousov wrote: >> > > On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: >> > > > Hi, Mateusz! >> > > > >> > > > I have finished the task: Fix corefilename race [1]. >> > > > >> > > > Following is my patch: >> > > > >> > > > --- >> > > > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- >> > > > 1 file changed, 20 insertions(+), 2 deletions(-) >> > > > >> > > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c >> > > > index 58d9707..a1421cb 100644 >> > > > --- a/sys/kern/kern_sig.c >> > > > +++ b/sys/kern/kern_sig.c >> > > > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; >> > > > #endif >> > > > >> > > > static char corefilename[MAXPATHLEN] = {"%N.core"}; >> > > > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, >> > > > - sizeof(corefilename), "Process corefile name format string"); >> > > > + >> > > > +static struct sx corefilename_lock; >> > > > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); >> > > > + >> > > > +static int >> > > > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) >> > > > +{ >> > > > + int error; >> > > > + >> > > > + sx_xlock(&corefilename_lock); >> > > > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); Hello, Though I am not an expert FreeBSD developer. In my humble opinion, MAXPATHLEN must be replaced with sizeof(corefilename). For example, the SYSCTL_STRING line (above) removed in this patch, preferred to use sizeof(corefilename) instead of MAXPATHLEN. Thanks and Regards, Prasad >> > > > + sx_xunlock(&corefilename_lock); >> > > > + >> > > > + return (error); >> > > > +} >> > > > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | >> > > > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", >> > > > + "Process corefile name format string"); >> > > > >> > > > /* >> > > > * corefile_open(comm, uid, pid, td, compress, vpp, namep) >> > > > @@ -3120,6 +3136,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, >> > > > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); >> > > > indexpos = -1; >> > > > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); >> > > > + sx_slock(&corefilename_lock); >> > > > for (i = 0; format[i] != '\0'; i++) { >> > > > switch (format[i]) { >> > > > case '%': /* Format character */ >> > > > @@ -3162,6 +3179,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, >> > > > break; >> > > > } >> > > > } >> > > > + sx_sunlock(&corefilename_lock); >> > > > free(hostname, M_TEMP); >> > > > if (compress) >> > > > sbuf_printf(&sb, GZ_SUFFIX); >> > > >> > > So the race is between somebody setting the core path string and another >> > > process coredumping, am I right ? >> > > >> > >> > Yeah, you are right! >> > >> > > If you, could you try to reuse some existing lock for the task ? It is a >> > > waste to have sx dedicated to the task, which is probably never used by >> > > 99% of the machines in the world. >> > >> > Yeah, of course. After a quick `grep'ing, I found the sx lock: allprison_lock, >> > which is defined in kern/kern_jail.c. It is rarely acquired as an exclusive >> > lock, and is not defined as a static variable. So I think it will be a good >> > candidate for this task. >> >> I think it is too quick grepping. allprison_lock is completely unrelated >> to the process management. Please consider to utilize some lock used >> for the process management. > > Well, this time I found allproc_lock (defined in kern/kern_proc.c), which > is used to protect the process list. I think it may be a better choice. > > Here is the new patch: > > --- > sys/kern/kern_sig.c | 24 ++++++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > index 58d9707..cac2ea0 100644 > --- a/sys/kern/kern_sig.c > +++ b/sys/kern/kern_sig.c > @@ -3089,9 +3089,27 @@ SYSCTL_INT(_kern, OID_AUTO, compress_user_cores_gzlevel, CTLFLAG_RWTUN, > static int compress_user_cores = 0; > #endif > > +/* > + * Protect the access to corefilename[] by allproc_lock. > + */ > +#define corefilename_lock allproc_lock > + > static char corefilename[MAXPATHLEN] = {"%N.core"}; > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > - sizeof(corefilename), "Process corefile name format string"); > + > +static int > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > +{ > + int error; > + > + sx_xlock(&corefilename_lock); > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > + sx_xunlock(&corefilename_lock); > + > + return (error); > +} > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", > + "Process corefile name format string"); > > /* > * corefile_open(comm, uid, pid, td, compress, vpp, namep) > @@ -3120,6 +3138,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); > indexpos = -1; > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); > + sx_slock(&corefilename_lock); > for (i = 0; format[i] != '\0'; i++) { > switch (format[i]) { > case '%': /* Format character */ > @@ -3162,6 +3181,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > break; > } > } > + sx_sunlock(&corefilename_lock); > free(hostname, M_TEMP); > if (compress) > sbuf_printf(&sb, GZ_SUFFIX); > -- > 2.1.2 > > Best regards, > Tiwei Bie > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 06:33:04 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E46C2882; Fri, 20 Mar 2015 06:33:04 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B64679CA; Fri, 20 Mar 2015 06:33:03 +0000 (UTC) Received: from Julian-MBP3.local (ppp121-45-255-201.lns20.per4.internode.on.net [121.45.255.201]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id t2K6Wq4H055464 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 19 Mar 2015 23:32:56 -0700 (PDT) (envelope-from julian@freebsd.org) Message-ID: <550BBF0E.2050600@freebsd.org> Date: Fri, 20 Mar 2015 14:32:46 +0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: sson , freebsd-hackers@freebsd.org Subject: Re: UFS endian conversion References: <20150309190119.GC72806@spindle.one-eyed-alien.net> <1426819192856-5998370.post@n5.nabble.com> In-Reply-To: <1426819192856-5998370.post@n5.nabble.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 06:33:05 -0000 On 3/20/15 10:39 AM, sson wrote: > Brooks Davis-2 wrote >> On Mon, Mar 09, 2015 at 02:11:02PM +0100, Wojciech Puchar wrote: >>> is it possible without backup/restore? >>> >>> any tool? >>> >>> or do i miss something in fsck_ffs manual? >> You would need to backup on the source endian and restore on the >> destination. Stacey Son (cc'd) has some patches to allow access to UFS >> file systems of non-native endian that need someone to help polishing >> them up. >> >> -- Brooks >> >> >> attachment0 (188 bytes) >> <http://freebsd.1045724.n5.nabble.com/attachment/5995345/0/attachment0> > (Sorry, I have been on vacation and then started having #mbp2011 > issues with my laptop so I am just catching up.) > > I just rebased my patches to something a little closer to -current. You can > find my preliminary changes here: > > https://github.com/staceyson/freebsd/commit/642ad5aec8e9d130cdd347699da9718b23ff749a > > This provides enough support for the somewhat trivial case (e.g. ro, no soft > updates, etc.). This, indeed, needs more polishing. > > -stacey. > \ rather cool. does it all compile away to naught if not wanted? From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 06:36:30 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 46C81988 for ; Fri, 20 Mar 2015 06:36:30 +0000 (UTC) Received: from ustc.edu.cn (email6.ustc.edu.cn [IPv6:2001:da8:d800::8]) by mx1.freebsd.org (Postfix) with ESMTP id 942C29E2 for ; Fri, 20 Mar 2015 06:36:29 +0000 (UTC) Received: from freebsd (unknown [58.211.218.74]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygB3JzzkvwtVxwu4Aw--.49200S2; Fri, 20 Mar 2015 14:36:25 +0800 (CST) Date: Fri, 20 Mar 2015 14:36:04 +0800 From: Tiwei Bie To: Prasad Joshi Subject: Re: [PATCH] Finish the task 'Fix corefilename race' Message-ID: <20150320063604.GA69307@freebsd> References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> <20150319101019.GZ2379@kib.kiev.ua> <20150319113530.GA33176@freebsd> <20150319144004.GD2379@kib.kiev.ua> <20150320000418.GA78913@freebsd> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-CM-TRANSID: LkAmygB3JzzkvwtVxwu4Aw--.49200S2 X-Coremail-Antispam: 1UD129KBjvJXoWxurWUtFWfAFWktw1fAr13Jwb_yoWrWrWDpF WrCFyrArsakF45Cr1av3WrAF1Yy34ktr4UW34UXr1YyrnYqrykXF10qry0gFykWrn2gryD ta1UXry3Kryjv3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUk0b7Iv0xC_KF4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I 8E87Iv6xkF7I0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI 64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r106r15McIj6I8E87Iv67AKxVW8JVWxJw Am72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc2xSY4AK67AK6r47MxAIw28IcxkI 7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6x AIw20EY4v20xvaj40_WFyUJVCq3wCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv 6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUx_-BDUUUU X-CM-SenderInfo: xewzqzxdloh3xvwfhvlgxou0/1tbiAQUOAVQhl-nmmAABsv Cc: Konstantin Belousov , freebsd-hackers@freebsd.org, mjguzik@gmail.com X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 06:36:30 -0000 On Fri, Mar 20, 2015 at 11:18:27AM +0530, Prasad Joshi wrote: > On Fri, Mar 20, 2015 at 5:34 AM, Tiwei Bie wrote: > > On Thu, Mar 19, 2015 at 04:40:04PM +0200, Konstantin Belousov wrote: > >> On Thu, Mar 19, 2015 at 07:35:30PM +0800, Tiwei Bie wrote: > >> > On Thu, Mar 19, 2015 at 12:10:19PM +0200, Konstantin Belousov wrote: > >> > > On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: > >> > > > Hi, Mateusz! > >> > > > > >> > > > I have finished the task: Fix corefilename race [1]. > >> > > > > >> > > > Following is my patch: > >> > > > > >> > > > --- > >> > > > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- > >> > > > 1 file changed, 20 insertions(+), 2 deletions(-) > >> > > > > >> > > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > >> > > > index 58d9707..a1421cb 100644 > >> > > > --- a/sys/kern/kern_sig.c > >> > > > +++ b/sys/kern/kern_sig.c > >> > > > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; > >> > > > #endif > >> > > > > >> > > > static char corefilename[MAXPATHLEN] = {"%N.core"}; > >> > > > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > >> > > > - sizeof(corefilename), "Process corefile name format string"); > >> > > > + > >> > > > +static struct sx corefilename_lock; > >> > > > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); > >> > > > + > >> > > > +static int > >> > > > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > >> > > > +{ > >> > > > + int error; > >> > > > + > >> > > > + sx_xlock(&corefilename_lock); > >> > > > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > > Hello, > > Though I am not an expert FreeBSD developer. In my humble opinion, > MAXPATHLEN must be replaced with sizeof(corefilename). For example, > the SYSCTL_STRING line (above) removed in this patch, preferred to use > sizeof(corefilename) instead of MAXPATHLEN. > Because corefilename is defined as `char corefilename[MAXPATHLEN]', sizeof(corefilename) equals MAXPATHLEN. So, technically speaking, both of them are right. But one of them may be preferred to keep the coding style consistent. I also think sizeof(corefilename) is a better choice. Thanks for pointing it out, I updated my patch: --- sys/kern/kern_sig.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 58d9707..8410d9d 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3089,9 +3089,28 @@ SYSCTL_INT(_kern, OID_AUTO, compress_user_cores_gzlevel, CTLFLAG_RWTUN, static int compress_user_cores = 0; #endif +/* + * Protect the access to corefilename[] by allproc_lock. + */ +#define corefilename_lock allproc_lock + static char corefilename[MAXPATHLEN] = {"%N.core"}; -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, - sizeof(corefilename), "Process corefile name format string"); + +static int +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) +{ + int error; + + sx_xlock(&corefilename_lock); + error = sysctl_handle_string(oidp, corefilename, sizeof(corefilename), + req); + sx_xunlock(&corefilename_lock); + + return (error); +} +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", + "Process corefile name format string"); /* * corefile_open(comm, uid, pid, td, compress, vpp, namep) @@ -3120,6 +3139,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); indexpos = -1; (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); + sx_slock(&corefilename_lock); for (i = 0; format[i] != '\0'; i++) { switch (format[i]) { case '%': /* Format character */ @@ -3162,6 +3182,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, break; } } + sx_sunlock(&corefilename_lock); free(hostname, M_TEMP); if (compress) sbuf_printf(&sb, GZ_SUFFIX); -- 2.1.2 Best regards, Tiwei Bie From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 09:26:05 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 63889B6B; Fri, 20 Mar 2015 09:26:05 +0000 (UTC) Received: from mail-wi0-x229.google.com (mail-wi0-x229.google.com [IPv6:2a00:1450:400c:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0B3BFEDE; Fri, 20 Mar 2015 09:26:05 +0000 (UTC) Received: by wixw10 with SMTP id w10so14502226wix.0; Fri, 20 Mar 2015 02:26:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=yhZFsHfmvND2GJE8/I8J1dMPqpN76ClR3gdB7T/ez/A=; b=OxJaTGKNldW9KuNINVJ7b8rfo2Q48cGfukmxWgdZIVntTlybfdVz5D+qNXGlMWGI4U sFSnSgjq3BENd2P1b67E9lP97kPZLb3syU8ErSYh+uNLDTmpadOqp8hO/vXwmZq51nem jZCnzhi62zLlTNRSwS3CP2+l4/Ph2iMkuSy1qv91FfZA7SXSRgA3V5GA1f+Sc0ySgACG dzsjVVhrRp6NXY9vIa+xTe5A54hHWZDw3wGKuk5PYwj8R6oACnxuXm7Uy+PoGB46QfFK TaqWZc+sgauzyv7LfZBvAANBkFWKhp9B3RDBj2G/Ep2KaIXe0pvF3EVcq7FSuKWuScPo BeHA== X-Received: by 10.194.222.135 with SMTP id qm7mr111342208wjc.14.1426843562730; Fri, 20 Mar 2015 02:26:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.154.229 with HTTP; Fri, 20 Mar 2015 02:25:42 -0700 (PDT) From: pratik dhanave Date: Fri, 20 Mar 2015 05:25:42 -0400 Message-ID: Subject: Port NetBSD's UDF implementation To: freebsd-hackers@freebsd.org, freebsd-fs@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 09:26:05 -0000 Respected Sir/madam My name is Pratik Dhanave.I am interested in working on the GSoc-2015 project "Port NetBSD's UDF implementation " and have been talking to Mr "Alexander Leidinger" since two weeks. Due to his car crash issues, Mr Alexander Leidinger cant mentor me further. He has asked me to "check the freebsd-Mailing list to find another mentor".If it is Possible for another mentor who is able to Guide me on this project in this summer, Please let me know. I would be greatly appreciate all help. Details of the project: 1)Project Proposal Port NetBSD's UDF implementation 2)Introduction to UDF Thanking YouWarm Regards, Pratik Dhanave From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 12:15:11 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3E5DF16C; Fri, 20 Mar 2015 12:15:11 +0000 (UTC) Received: from mail-yk0-x234.google.com (mail-yk0-x234.google.com [IPv6:2607:f8b0:4002:c07::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E917523A; Fri, 20 Mar 2015 12:15:10 +0000 (UTC) Received: by ykfs63 with SMTP id s63so41454455ykf.2; Fri, 20 Mar 2015 05:15:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=WB7giVdZa4wy1ZGMdYAYKC6bD9tkzffrABSGKLP4Kqk=; b=vG3TaypIuYre68S9Vg1N+cR4glprtpuDIXoFCxntEi+g6bvTXWHwUndEVerH8Yqq1t Ty6BqBcUH7k53HFpP3ROYfE5XLVsrLnwOvy4XtBGmjaSnXIxF1CbDeZpFmiMBM+C7r+w zoVhfHclP+67LYg38xRaufHP1psm/8NgvEOz9ELH5XsXCnMqCc8ujRRIP+dDZdi24+9W qcMfgIWD2aQwSgSrkj91o5OyvIWtiVUP0XELjc9HDAC5t0sSdL1KPCvaS/nvreyzMVUN kNyHP+rhfopX1SWo+Ja9eDTfOrCfiSHDAcr6tYH0AKG0piw5UYG1brDzGsrCBryfO8TV EKlw== X-Received: by 10.52.78.35 with SMTP id y3mr12753559vdw.5.1426853710204; Fri, 20 Mar 2015 05:15:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.119.205 with HTTP; Fri, 20 Mar 2015 05:14:49 -0700 (PDT) From: Pratik Singhal Date: Fri, 20 Mar 2015 17:44:49 +0530 Message-ID: Subject: GSOC Mentor To: freebsd-arm@freebsd.org, freebsd-hackers Content-Type: multipart/mixed; boundary=001a113403828b2f2a0511b7445d X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 12:15:11 -0000 --001a113403828b2f2a0511b7445d Content-Type: text/plain; charset=UTF-8 Hello everybody , I am applying for the project of Improving the support of freeBSD kernel for CubieBoard (in Google summer of code) . Since, no mentor is currently assigned to the project I wanted to ask if anybody is willing to mentor me for the GSOC Project. I have attatched my proposal in this mail, do have a look --001a113403828b2f2a0511b7445d Content-Type: application/pdf; name="proposal.pdf" Content-Disposition: attachment; filename="proposal.pdf" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7hjvlrf0 JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURl Y29kZT4+CnN0cmVhbQp4nK1YS4vjRhC++1foHLC3q1rdkkAIJFteyG2yhhyWnPJYCNmEnRz276de 3XpaM4cw4Bm31PX46vXVuAsU30/fCkc/EbCoGixefz/9/EPxt5264vXLaXicoKwuvqigvFTF47fi wx0KxOLxx+fWQQetww5i63x3Bv7E1pXyZ+BnsTuXratcLUcNH/X5Y6CrfHzlL5W7pTMWV7lRX7/T BzgTr5IHAL0J2P3y+PE0Pk4vK5sx1uRfjNWlSTZDTTaTWa4BTz8kAsru8efe7RAvdRGxJrflMhYQ k8PkHzrPlgQWFtk5+k5i+VF0vRv4jyudBnejA9QDdoexCO5Omp09ru3y6Go+A1AhLHMU6T35iKII vN4nqz3BAkHV3LMhXm+X2RaI/Iugjwu1zzBTr12TIMteqwn3JAkkyL1oo4+zb5PGngyvyBJ2mC7p k6jvhywlSRBYCACoujO9X0PDv+lpT6fy0BsiMJiTlFNNC1d5zxBoFJ5Kb0R+EW4q+ZqwQ3qVjFE8 LAz6LM6uglOJY4bsqVOHEIYGLmENoVdtg+XAIkBiw12cpqdqRDrgdDOQ1VMK/8x7ij/7l7AMdGAJ aCdeAEENldamIOlJu6Gz56XcHe3dG+fUu8N3jE3lqS5X2KziLQhPgInTo8ju3U3dNqWz6lJT92tj kSg3utIs/Ytcgl2ILdzFFUhooet8ZQHxbJ2Z0wXH7/oWARHZUr2JJSKpqwnb8WlnAqTsCL5MOWKd 6bO0CDKOcOZGChRLsa/iEJHrPfdGcoq/X6l9Xem0fqbFN+GCcy2Y+99RzyubHJ7cMCP3DWCMkPQd Xa5K0rmKreAyFWlCcN1SFOJFlWhxoOZu0AfeIsadDOUQrCPfJM8hlYGEdLdvpbSlRBCrRgxSk5pI qjSYbr43aTEjMVpW2VkqTdXGf2FlbzxVeFQiZQj0uZo72TotDukBalmvZjG4iJGdx21WXIKDJqZ5 Hiqa5Ltq7oo2ageSTonikWfFmulcYmZA2UUCaFj7Kd6rrzBoDUOLUa67agoUajudl/qsRevrOEsG EmYGCg4kZOYniKeUtTPvfv16cjTNvi9A+OnjyRVnuJTF1wJrLkb58lfxaROPsnSU0XtIYW+NnLnA uOiOx8H1Fenamw1Pp+GbrW+KPQH0hnpYzvYWNxW9SJWI7D+sCcE782SVo5IojNqmIuZZwukhAnB4 gsmUGCkTVOEaqAX72kuV7N2beeKRfz/NE1/7S9zBibLkzYnoa9x2TWM407CNOheNH86w5X4k/HFI HYpJnjS8YTb1EkMwYrNhCTsMoc9jckMBrJ9ueBr1HskC7ahv+F1umQA1BKsrvPJ0veHI4nSGbJyk b4cKMC8sk4IyK4hqcS/jYitZOeKChHhnWagFGDx0ZetRDiX38OnQV4Nc3CwU3ieDSNoZJ6o9AYuz iWScRSOPEterrBpNbpsS3WgRTczWSBVVO7aqSDYZ4TBme2poWygsi+AYbqRda53HVML/b+Iqvxvy 4J21oTqTg9u0NC1YLo8RNLZgTMHKocwwC0KTSWSiTnvFMdWEVYJez7N/xQ/M8ERj9GEejdYapGK4 g4W3OwVifVAxUHc0i5dDYzcNEkkangb8yAioN9vhgjQrP5mmYQrA/VDjLHmn7XgWvLwo2/bzLANm sUw747E3waVxPNHwkoj2wEQbKiPjA9TC/p/SbRUGbsMTLCDUZbCa7Zy7zBTzwpoeKwFdnh00XwI2 pl7gfZk38AlSTCVkbKufusluOe43wnfueg1uqM62NWU2OK/I1Y5g/0iJ2aG0sUvrG9Msq+d2znZ8 HaO7S2aYZ54t25t0vdqkSNx0mpGKk/57I89L6yloPTvtopO7U60eoVftYLdadvN/MBI6qNtsn0xH 6e9CC2WSzpeieW6JaLU+7y6SJlqGtZIA07emB6I+SRW/3bQtXad4xiltZq7s/kNjAual+FZ8GD9+ CsWXf4sPj9eyuP1TvJz+A8WGa2cKZW5kc3RyZWFtCmVuZG9iagoKMyAwIG9iagoxNDg4CmVuZG9i agoKNCAwIG9iago8PC9UeXBlL1hPYmplY3QKL1N1YnR5cGUvRm9ybQovQkJveFsgLTQyIDM5NSA2 NTUgMzk1LjEgXQovR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSyB0cnVlPj4K L0xlbmd0aCAyNQovRmlsdGVyL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nCtUMFAwBOKidC6nEC7X EK5ALgApxgQECmVuZHN0cmVhbQplbmRvYmoKCjUgMCBvYmoKPDwvQ0EgMC41CiAgIC9jYSAwLjUK Pj4KZW5kb2JqCgo3IDAgb2JqCjw8L0xlbmd0aCA4IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGU+Pgpz dHJlYW0KeJytV8mKHEcQvfdX5NkwNRmRlZlV0DT0KvBtrAYfhE+2JDCWjcYH/b4jMiKXWqZaAtOH 6sollhfLi7IdmG+7r8bSLwCaOKJ5/bj79Sfzt65a8/p5d7rvfOgGE9F2ztz/MM83NBDM/dOHvT3b YB3gAfcWD09hD57/Ojvyw8vGzQ68Zb290Okgix6AH8GivdrBng5PPZ9AunttLtLfY9pOUge69OSa c/T0zh6ecA/DgbRH/kvLrJ5k0Fkx6ExSPPRp96ZLJN7/mP2H3+4/76733csqPBa6cQ7PSXwMYgsJ dGyYT4Yl/wc11vbZZl5MlgR+P72tFQNQAEMAUQoGhqQURnLW2QiRXEIgI0iKg8GeN+0PCF0/sx/O glgyM6o3cBHDz8lKCabFBBzZzG624NGK37e3rUBMQUeXcBCXm5BNwi/XhoTGJET6wKzgmk6KGTan zChplWCnOJzEsGvy6mgvImPQtOFcTCeuIpLyxbXpIqvbINp5heSEErRSzI8p4+fJpTamI1obkrAz RzGu4eO8PcpBeS8+YE24IM5CLQuX7CjgCFaN7BRI1ItqZrWpMZVLm0XJSetYeVadhLtq0iaAfui7 MK+iS7JaEQkE40lj/kBW7zs/k4WAR/UzNYzbAcBynseRX3xqLk1TOJUcbrzl5NpUjLGDueJ+qniU TqW5ONOnMSrK0r1tlXbo4kylc1UlaThqax0481eaDgVvS0MfxkVk8Jasp+yeJDQryQ4uwVx1bqV8 xXIvZYwl9Zpz2PYPlwrD16VyVxREsmPMwmTrUuJazc/tZEJVTc6rjwTnSrPaBtBDh/PUvuXUjqo3 SDm2UjPBzdkNK7npZRRZo9TcGuFNy7fEwWdUSp+ITZ8Qk/ptPi8dPiWDoD4+orB+ND2UsaKhsMPY S3s6M2HAmexhyj8DlStwr4mbWLtoF+XARe5yH5tBWGkk4z9PyHTr1CTjJLmwrlYElXB0umiaYnOB wNKGjYVOi0m0zTNPr2FfL5GCMYwtXytttsQ3oCYZXjViEnwG1nOVbkPqcTn+HZtqKhi2DDJp3dLx vocjsgjFplJLnTm4Bq9ro8bqQPGQ8l2fI7IZ+K1sFphgm3Q0G9ry1WLiMGgB9005Tl3M7VON2TQF 45ITKg0dfKI/x/0jyT5qCmpDOMmaW0xabXjfxCrl0/fg/siHfjlVV16jzuj2qyk42F4G6HHGGfZh n0Z0swjucTjc/5xc6LyFMei1gNTYl9e4vUucUfpB6hbI5sroi+lrgKdMbcs63WhZlSJhw12g9VTI sMcg97e+HES2Y411WMuNOW0qM7vMw6KQuzcLQe0co0SJRVDS9mzPdKtYyNtY6CIPmDWnaI9Uu0h+ RJI46TaQUKWvmYrk7192lkL/bYL3L+921jzxh8oX00egaKWXv8z7ZSxdvxrK4zyUeh7iSOpgwDzl VDZafEgR+0Dk3ELOKHBwYZbiaIXEnMRYmPq/7ASpbMqGCze5zewDGlorHSpzXcGmEDMvQkJVIvs2 C1LpkywMuXicum/hDffHML1QafN/G+UWfbkUrWSUUtZkysvTXDmaZ/9tx238IbftYlbIberRdKOo nKr9zXdxIbal0S/mq3m+vnsP1nz+1zzfX0dz+ce87P4DYiO/8gplbmRzdHJlYW0KZW5kb2JqCgo4 IDAgb2JqCjEyMjgKZW5kb2JqCgo5IDAgb2JqCjw8L1R5cGUvWE9iamVjdAovU3VidHlwZS9Gb3Jt Ci9CQm94WyAtNDIgMzk1IDY1NSAzOTUuMSBdCi9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0Rl dmljZVJHQi9LIHRydWU+PgovTGVuZ3RoIDI1Ci9GaWx0ZXIvRmxhdGVEZWNvZGUKPj4Kc3RyZWFt CnicK1QwUDAE4qJ0LqcQLtcQrkAuACnGBAQKZW5kc3RyZWFtCmVuZG9iagoKMTAgMCBvYmoKPDwv Q0EgMC41CiAgIC9jYSAwLjUKPj4KZW5kb2JqCgoxMiAwIG9iago8PC9MZW5ndGggMTMgMCBSL0Zp bHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nLVYy6rjRhDd+yu0Dlzfrn5JAiOQbXkgu5sxZBGy ymMgZBJmspjfT736oYflSUi44CupVd2n6lSfqpY5QvPl8Kkx+BfBNm1vm8+/HL7/pvlDn5rm84fD +X4I8dg1rTVH19x/bl5v0EBs7r/+cDIwvNgTmAF/AgBchxd3Mq0Jpjc3cIOOmW548fSb7s8Qhh/v 3x6m++FtsVbraS0Dx17WcrIWLXX/bcugt3MDm8BBB7cBwJzgMrT9CW8CggvmYqJxYBkH/UQAgo2/ hBSfEdZgJh5FoASan+PwPuzY2X8COr9eQUZso3G4eMDr0VxNT8t6/IeoBHQHkcO8BfEBOiYwxuVy diJLJw7z5DgXhSJKKAJSKY7LkrISg+grI3PDt5wJFokHTxnBthdj6alMFhlgoNAnK5wykBexTCIx xlXTDa8o98NLVMKsUNUXb8XX796Ro20TvcHU/nhwJur178376u7jIYSAuVzGxAxiMePrbKYjapbH 2IweejWT62SWRsSsjLGZ7/0xqplcJ7M0ImZlTMyCxYdqxtfZTEfULI+Jmelxf6gZX2czHVGzPDYL SRXWld/ViyvnqhdXHlQvrmBWLy45WJNaEzDnrY7xnJpZGOfRryNVglgxv5E+FcEbWVLxuJEMFV0b nFesrKldbPIejaK1OPFim5uhA9qTHYwmuI53aHysZc50JBcbM5GSovLYtBfhZCPOakWPHqoPAQt9 dwxLYGBpfzu3j+SB6SgSNECfcHWslgJHlMMhPlIYx8KShYbxk0KNoihn0TuXPIFuiCfoOVBPwhQ6 yoI5uHWJIalj1dIqU8RsS8WlAFmtA1E0b8weqW5e0BPLHorfT5FGwF21IDRUFQDX63BWnY1/rKLx Q8Qon59x7NrVCs4Jx/1TeBvG1ieWnRmcYFqEoRQPZC1R9v/UeMUJfeqDShiFI5wvpZbF0s01j4oi w6kT7ZITraAng1QLqQQKbuWD4H4Vx8as+iBOf6nWrsLQQcvNW53qqA8aBCeeSMD2WfftivNeOB/3 wW4YunpXo255d0oUEX12zX/e3I/2kQxr/MODpvAJ0NChn/9yj4fu+cbxzq8WcCMHEYXOP8W3Zd7+ 56GUBCzxlPBWLesTlFgRlx2ozFn6XAbS5y4zt7qPZraxxSLlsF/w+WjSUecNN9xVZzyGXEwLk3EP +nBujB0qz6q+nM1Ya0Yqmzb3xpZgIkUcBXtNrWmOK4wqUF0pRTfuXfeadIfqsiwnsrTMcqESPlsa pYJvrTu7i+vdXq7xCigRq313pRluogfo66RNfJKCFIObPm+R836eS2mHeYaHTzl7N7Acg4E+Jv6s 2wSEp0dbplYPZVpKP/4xV95x5UxyxUSi+HRCwllPGNqniM0yWPQGj8BVnGCttULgPAKVI8CuQFPg //TxQMr7ZeYjHkhM8wLUFTY2UD/IN9S6bVJjO7suLazSclK7CEHeVFTdBl8YoTNiiUdiRPIwJQ1v 8Ge0QEBntuB8DTGiJxWQG+1w5AMlUzb0NhfCw56/mxxUWJ+z4N0eCz5seU1ZvCMf1oe1fEypiRO9 oIYgqP/s+agCVzeCvWzwoM0olX7tJkRfu9xyn1O7Mari5DeLdo5skVvaR82ubG3ctapSmiz+kYZ4 31K4A6Dn6jP3Q5QbbkDb6aFlaDH2W9FCdB4R2dyXzb3wizq1K2/WtisBnbmWE6zLCUb6rVIGElnH JlndL3pkQhJhog1nM4+Sw62GbRK5mGRFOScFKv+be26GG2vkqv1NWUR1g7+fqCfKeaKy+jg0p7F8 PcoVlbu6mBv80mnmtMpvVB999CClR5IKT2l8JcdnNhJT/uqz7B12u0qKB/RmLT6WPypNqS/QkshO aHKnypQ2hO0eaQq2vUlWsFOy1YkLf6N+x6r3bNXWbXVPdStPb1bLOa/+L+rsssLsn6I5Ku3Gd06B esueIwBNjL2q4Hz+iAfFm9y1hJIiNpZOMCVWPt/Me9u35lPzOr17D6H58Ffzev8Mvrn+2bwd/ga4 gb7FCmVuZHN0cmVhbQplbmRvYmoKCjEzIDAgb2JqCjE1MTYKZW5kb2JqCgoxNCAwIG9iago8PC9U eXBlL1hPYmplY3QKL1N1YnR5cGUvRm9ybQovQkJveFsgLTQyIDM5NSA2NTUgMzk1LjEgXQovR3Jv dXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSyB0cnVlPj4KL0xlbmd0aCAyNQovRmls dGVyL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nCtUMFAwBOKidC6nEC7XEK5ALgApxgQECmVuZHN0 cmVhbQplbmRvYmoKCjE1IDAgb2JqCjw8L0NBIDAuNQogICAvY2EgMC41Cj4+CmVuZG9iagoKMjIg MCBvYmoKPDwvTGVuZ3RoIDIzIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAyNDU2Pj4K c3RyZWFtCnic7VXdbxRVFD93dme3FOgXCxYX5Q7Dp53tJzaSFNi0u6Xbz2W3rTPYRKbbabtkd3az u22okQDGjzoJJCYGIfKARKNGMXfXxPDggwZ5ILFGDdZoJPHBxAfFBxMeNAKeuTu0lfRPcGdn7u/8 7jnnd8+ZmTuF3IwB6+AUuCCYSOtZHyGAvy8BSF1itkDHNp0VEf+MXHQyO5W+ubv0K4DQjKcxlZqb 7P/uja0A7vM4/+G0oU+cmb/TCCCG0G6fRuKFu0970X4e7e3T6cLxs+S6G+1LaFekMgldgVGE4nt4 8aT141mfawsuQGRoU1NPG+e+Ov0b2l8DuI5nM/mCD47dB1jTY89nc0a2vuHPK2hPo426QIAvHysC 4uH2/7/X4TV4Fa5ABC6DBk2wFxRohaNwGGQIQSdI8Dlch2/gGrwNL8M5OA1vwiVg8C4E4SS8SC7C ZteieFB8H54RaxkoDDb0sSeiKuud1RjIB+uZp0Hdr3HuhEZvMrKhsT7AiEJ/ZOsaAkxQ+mJqWNak AHMpyXrKglFVYkEtwNyKHSrJ0nPqLf+C5kc/9a7/tuaXJSY2qKx7VuMTmob5RGX92JEA8yjFbWQe 1en82JifAabxKsXtnAouURVKXS3d1xRgaxR6whb5AtNQ5toRkSlz7+xlEFUtw9KpDZ7yS5Lmt7gV K1u2YGV5dTX+GgkzrlXot7ycdQptYt6GMZXSQ3K3foyqdGK8nML2W28rozS16CGrW5ctaslcTraT syB6Yn02wYKGbWBMFVfav1gvSX66aGEbMCiCqxlx1iZxt2pFpouOuEzVvrhfYkRTLSwoIlsytSKW rNsB5RB7CLAa+zbU4bpr7QJsUPdQAZY9yPqxoysrsUM3KFiE9Yrdtt4J2fIyGlU7/J/hjE/5GIIk 2NlJ+q7WQAL41XYeUe1rTJXHcfVypx8HIndi54MxtQQUuhKdJUIJDowm2GZjywOtjQpDFvuCl4D9 1Ar4bIIwIY7gzuSFxiKBpo6S1119u7XoEX/qKLkEhFB02bRo0yWvZ9c/HSVi8221Uu0OqVYKCfTe dnL+3rQ48vcHIfcC2DtCL7khHHXdgip4HJ9ybMUC/gmrbmLuRbZ2Af/FGtIAzS1k266dT+5tb2t9 ZNNGn9dDjpiHD1820/0D/X3kxuBAxrw4NGBm+wf5LjN54UJfXU/k2eqOO7C1gr94C3+989bKF5FX g/se1lb+YZx39O7JFS4P71eC8DuEhB+gF3F5qyS8N9VODgFtATbZtOtBbBV8tJSntJSTQCVaxIny wqcOdiF/zcFuxAsOFmE9fO9gD/K/oCdxr8FEE/CHgwn4hJiDBagSJh3sQr7gYDfieQeL8Khw0cEe 5D/ZndhDW5ub99H4jEkHkolcJj+XLxjpPI2YicbK4Z5wLExDQ+E4HRwapmE1Eh+m5ZiWFto7k0oa Jh3Ux41CZTQW7gqH0LEjcGA5Ij7S1RUOh5ZjhlLJ2aSRoz16KpWxoyIDYR4yHItE+8O0TDjubXRA L0wn9Ty65/NGKq2b5lDWMONz6fFMKmZMzaT03DKxjEaNXD6ZMWlLc2tj+zINu/FV2YNvQSs047EP URxmwMRxAJI4l4MM5GEOzwIYkMaR4q5t4kwj3oFh6IEwxPCk+G4M4RhHNIhoGMcwqOgb53ilTgse FJ+fGUihhsHVBkGHccQFzBrlGbvwDDkZOyAAB1bViMMIetq+tvdqOkNcZZYr5dDuQaUUHpklrQjW Gl6hMsy5KPRzdqXHf7O38S7pmGcas+u8Nz18zKNWCrulY20mriDLq4xjH9NYZQbnYshM8Q7ouKrV PFbjRnkNeVTL8K614Dpa8U60r+rtKr9w96fAt9pH+Cq5/xIjZ6CPVUTVIiFntWK3/XVhNfjh9MUQ nNIew6/AmKoxXwPAv/sL4ZAKZW5kc3RyZWFtCmVuZG9iagoKMjMgMCBvYmoKMTQzNQplbmRvYmoK CjI0IDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvREFBQUFBK09wZW5TeW1i b2wKL0ZsYWdzIDQKL0ZvbnRCQm94Wy0xNzkgLTMxMiAxMDgyIDkxNl0vSXRhbGljQW5nbGUgMAov QXNjZW50IDc5OQovRGVzY2VudCAtMjAwCi9DYXBIZWlnaHQgOTE2Ci9TdGVtViA4MAovRm9udEZp bGUyIDIyIDAgUgo+PgplbmRvYmoKCjI1IDAgb2JqCjw8L0xlbmd0aCAyMjEvRmlsdGVyL0ZsYXRl RGVjb2RlPj4Kc3RyZWFtCnicXZBBT8QgEIXv/Io57h42tJybJmbNJj3oGqs/gMK0ktiBTOmh/94p Vk08QPJ474M36Gv32FHI+oWj6zHDGMgzLnFlhzDgFEjVBnxw+VBld7NNSgvbb0vGuaMxNo3Sr+It mTc4Pfg44FnpO3vkQBOc3q+96H5N6RNnpAyValvwOMo9TzY92xl1oS6dFzvk7SLIX+BtSwim6Pq7 iosel2QdsqUJVVNVLTS3W6uQ/D/vIIbRfViWZC1JUxlTssfpTu1j/bQBtzJLkzJ7qbA/Hgh/vyfF tFNlfQF+i215CmVuZHN0cmVhbQplbmRvYmoKCjI2IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBl L1RydWVUeXBlL0Jhc2VGb250L0RBQUFBQStPcGVuU3ltYm9sCi9GaXJzdENoYXIgMAovTGFzdENo YXIgMQovV2lkdGhzWzM2NSAzNTUgXQovRm9udERlc2NyaXB0b3IgMjQgMCBSCi9Ub1VuaWNvZGUg MjUgMCBSCj4+CmVuZG9iagoKMjcgMCBvYmoKPDwvTGVuZ3RoIDI4IDAgUi9GaWx0ZXIvRmxhdGVE ZWNvZGUvTGVuZ3RoMSAyMzMyMD4+CnN0cmVhbQp4nNV8eWBU1bn4+e4y+2Tu7DMZZuYmk4QlK5kE iCy5hCSERRgg0AwqmZCFREMSkgCuJSq4gJSIuFtNLbXW5tVB0YfWalRsX2ut+Iqt1i19Ym1fXaKl 1qfk5vfdc2cmE6Dte+/3++c34c495zvfWb7lfOf7zjlDf+/2VmIiA4QlUvPWph4+ZCf4+SUhYGve 0S8uXO2cj+lRQph/b+vZsvWef734NCHcUUK0R7d0XtH22aIPbYSY2glZuLu9tamlqM0RJmTZR9jG nHYE3ChfoSVkeQ7mc9q39l/+O+so1l9eh21ynd3NTYKR/ZiQFSuxfPfWpst7KridDOZPYF7satra GqhkEHfFGCHGHT3dff0tJGeCkG+0K+U9va09K+/Z/BLmbyKEHUQY4J/yMWFSo+QZluM1Wp3eYDSZ MyyC1WZ3OF1ujzfTN80fCIpZ2aGc3LzpM2bOyi8oLCoumV0aLiufM3dexQXzFyxcVCmR/98//H7i JHX8QmIhPfR7yocdJl5yNyETirzSvuWVE1/9vxyFTn3dRR4iR8l+8ia5JFFQSyKkg2xHSPrnefIa QpVPhGwkj5C9f6fZYXIMy1W8GDmgUHLeT4TcSR4nP5vSS4RsJVfhWJ4gb8Js8nNUlW7yOejIteQl bPVzhF14vqaYDPxqo8m2NOhb5F5mH1nOnMLM3UoJU8wI5Di5DzZhy/1I5/4UxQvOafRGcg1+ryPt ZAem6YdfeOZ3RD/xF6TqGrKcXEcWk860Gs/AA6wB5VdPHkCePk9hxclCbR17KfMkw4zfhplbyRZ8 mgBpZ/azi/8Oh/7HH3Y9McNMNpfoz1fKlBGL/BVTOnGazSEGsn5iLAmbWDHxF7ZJ7uIauWn8Qu7l f9SH5lZuK9YmEx/IV8kt/Cr+IZTWw4RISy/aGG1YX79u7ZrI6lUXrlyxfFnd0tqa6iVVi6XKRQsX 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 mZ88Uxy0PBN8hgk+vvrxXY+zsYfB8nDwYSZyb+xeZvA+sNwXvK/4Pvaeu4uCdy8NBO+8Y3pw9I6x Oxhlc/4Os7X2GVgNK8lC5OGqx9mJ4KOLnXAhkmXB7yA+xfisxqcbnwP4YNyD6EF8imGlNI9tvB2M B30H8w9edXDfQb7nhoEbBm9gB/YM7mEe3fHcDqYvMjPY3ZUf7Fo6K+gNe9Zrw+x6DXajHAks25w7 ozbWKAUbEemijSXBjUtnBu1h23oeCeYQ0cIG2Up2NdvNHmCfY7W6tZFAcA0+o5GxCCNF9KZay+rg 6uLV7LGJUal1RRa2trxn+cBydlntzGDd0nlBy9Lg0uKlry59b+mnSzWNS+EB/Ff7aO1ztaxUO7O4 VqoNZNVOq/Otd4Wd661gWS+ELesZQEGHyfpiy4SFsVgaLbssys9sCDPgAh6OweCR+nX5+SuOaSfW rojrIhfF4aZ47jrlW1qzMa65KU7Wb7yo4QjAt6J79u8nVf4V8dJ1DfGYP7oi3oIJSUkMYELwH3GR qmhfX38+/UB+Pqa34zfJ356PwE19KpSkykl+H/ShjeqjlSBfQVDzgN/5ShkClHqAtTf1EeVLKcxX Kym1+xLN0crqF014Nv0fkqnu2QplbmRzdHJlYW0KZW5kb2JqCgoyOCAwIG9iagoxMzk1NQplbmRv YmoKCjI5IDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQ0FBQUFBK0xpYmVy YXRpb25TZXJpZgovRmxhZ3MgNAovRm9udEJCb3hbLTU0MyAtMzAzIDEyNzcgOTgxXS9JdGFsaWNB bmdsZSAwCi9Bc2NlbnQgODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdodCA5ODEKL1N0ZW1WIDgw Ci9Gb250RmlsZTIgMjcgMCBSCj4+CmVuZG9iagoKMzAgMCBvYmoKPDwvTGVuZ3RoIDUwMS9GaWx0 ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxd1M9um0AQBvA7T8ExPUSwMwskkmXJsWPJh/5RnT4A hrWLVAPC+OC3L99821bqIdHHMrv+7TiTbHvYHfpuzr5NQ3MMc3ru+nYKt+E+NSE9hUvXJ07Stmvm +GS/m2s9Jtmy9/i4zeF66M/DapVk35d3t3l6pE+bdjiFT0n2dWrD1PWX9OnH9rg8H+/j+CtcQz+n ebJep204L+d8rscv9TVktuv50C6vu/nxvGz5V/DxGEMq9uxIaYY23Ma6CVPdX0KyyvN1utrv10no 2//elZ5bTufmZz0tpW4pzXO/Wy9ZLJcOWZnfkb3l6hW5sCw5csmaPXLFGlt/4XqB/Mp1Rd4w2/ob syBvWW81O2Zbf2f2yHvmlyW7nHtLZPrLLTL9Fepd9FtN9FfI9Je4i4t+3N3R7/G5jv4CHke/tzPp L9+Q6Rf0x9FfWE30b5Dp93YO/R69FfoLeIR+tXX6FT0U+gW9FfoVNon9h1mi386hX9AHoV/QK6Ff 4RH6BXcX+j36I/R7O4f+wgzRb/XRD49GP75HjX8/lun3+FylX3F3pV9wvtJf4b5Kf2X19Ct6qPR7 9Faj386nX+FR+hV+pV/tfPo97qvRj+9L6S/QQx/9HJA4CRgVzPKfEUyb+zQt42cDb3OHiev68Pd/ wjiM2GU/vwEPXAE6CmVuZHN0cmVhbQplbmRvYmoKCjMxIDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0 eXBlL1RydWVUeXBlL0Jhc2VGb250L0NBQUFBQStMaWJlcmF0aW9uU2VyaWYKL0ZpcnN0Q2hhciAw Ci9MYXN0Q2hhciA2NAovV2lkdGhzWzc3NyA4ODkgNDQzIDUwMCA1MDAgMjUwIDUwMCA1MDAgNDQz IDM4OSA1MDAgMzMzIDQ0MyA1MDAgNTAwIDUwMAo1MDAgMjc3IDI3NyAzMzMgNzIyIDI3NyA3Nzcg NjY2IDU1NiA3MjIgNTAwIDI1MCA2MTAgMjc3IDY2NiA3MjIKOTQzIDUwMCA1MDAgMjc3IDUwMCAz MzMgNTAwIDI1MCAzMzMgMjc3IDMzMyA1NTYgNzIyIDU1NiAzMzMgNzIyCjcyMiA2MTAgNzIyIDUw MCAxODAgNTAwIDUwMCA1MDAgNzIyIDUwMCA1MDAgNTAwIDUwMCAzODkgNzIyIDY2Ngo1MDAgXQov Rm9udERlc2NyaXB0b3IgMjkgMCBSCi9Ub1VuaWNvZGUgMzAgMCBSCj4+CmVuZG9iagoKMzIgMCBv YmoKPDwvTGVuZ3RoIDMzIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAxNTA0OD4+CnN0 cmVhbQp4nN16C3Qb1bXo2TP6y7JGsv6faOSJP4ljy4nyM/l4otiOg43txHGwnI+lWHJssC1hKQkJ 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 UDvpU0PjcPqo6ZPHTI2sc+C/zSfplaQWnD4+Rgu6DKOOrfLoHymMuh3Txm/eE52Yg1ppvkjK8dMk W46/SII0ai7On/Np5pzZi1w0DmI5TfVJUVvW0D5sx/p2bKGVyGt0Muknz5PLXKsGiA/iZC/eR/Fm YQC2ExfiIqQNekkXrCIrQMS3SABC+F6NZeldAyvIGNKtQPxKLC9H/DJMoUZ8BvCux3sv3gqixWeO phZpAvgOyOVqLM9DnqP4BHpL2HrESm9cyUMzvtfI7ybEN+K7US6vxTK+iQhq6V9M9HkIFGIznJyA oxNAJkAXuADkAhh+e26R72zwTNevg693kTOo65naMx1nxs5kzijPANv1OmvzJX4GvT87/zOm/WdQ /33wff/s9xnpv6dfP6kzNHWciJxInmCfXTPXR45D4Onepw88ffTps08rE/8DjE/5nmIST4HvyfYn J59kHz8S8hkf3vswc/RhSD4M9Q8D9xX+K7VfYZNfgfvu9fgCX67/MuP+B7j71pjv6F1wZ7vPR26N 3MocvBV8t8LBL8DNiBnYCdwOfgeTjkz6Ur2TviQ2nMB7ZM2kzxl0dKmDbJeKnfRJCn6rrybYdHIb nItCpHehr1cSuBXErVpD097NBzYf2sxu6qnyBXqA9ER6mIM97/Qwvh4oCZq7lNhzBUoysj62nm1n E+wB9gSr1nRe6fd1oJhE2962A23sVWsE35VreJ+xGcRmvbGpCRUxrvGtYTzN7i5b0NplAmMXFzR2 MYBOCZKugHHSyBiNvca9RtZI6glz0AZKOA4Hj23orKpqOa6eXN+SUXdsysDtmbJO6Smu68mobs+Q rp5N3ccA7grfun8/CXlbMgs6uzMRb7glE0NAlIAxBDjvMRsJhVOpdBW9IFVVla4ieFdtTdFyKr0D S2lSVZVKUQq8sZBOASJSiE/hG2EcOZKUFKTSmHTSUEVS0p3G8g6JWRKHiK0phJBBOvvKNVlFxdLW ckXpLyn/CYg7R3IKZW5kc3RyZWFtCmVuZG9iagoKMzMgMCBvYmoKOTAxMgplbmRvYmoKCjM0IDAg b2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkFBQUFBK0xpYmVyYXRpb25TZXJp Zi1Cb2xkCi9GbGFncyA0Ci9Gb250QkJveFstNTQzIC0zMDMgMTM0MyAxMDA3XS9JdGFsaWNBbmds ZSAwCi9Bc2NlbnQgODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdodCAxMDA3Ci9TdGVtViA4MAov Rm9udEZpbGUyIDMyIDAgUgo+PgplbmRvYmoKCjM1IDAgb2JqCjw8L0xlbmd0aCAzNTkvRmlsdGVy L0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnicXZJNboMwEEb3nMLLdBGBCZhEQkgpCRKL/qhpD0DsIUUq Bhmy4Pb1zNBW6gL0bM98PDEOy/pU224OX92gLzCLtrPGwTTcnQZxhVtnAxkL0+l5XdFb980YhL73 skwz9LVthzwPwjd/Ns1uEZujGa7wEIQvzoDr7E1sPsqLX1/u4/gFPdhZREFRCAOtz3lqxuemh5C6 trXxx928bH3LX8H7MoKIaS1ZRQ8GprHR4Bp7gyCPokLkVVUEYM2/s93acm31Z+N8qfSlUZSownNM nMXIO2KVIidcQ/spcbpDVryfIGfEcYS85xyqOTBTzpGZah45v0IueZ9yTrxPPmfOp5yK99FBRswH ZPZXEpn9FebI1f+EzP4Z1bO/OiOzf4bfkuyfoptkf4XfleyfUib7qz3y6n9EZn+VIa/+JfLqTw7s n0gayvr3cTx4f37GLvTdOT9yumQ0a5xyZ+H3Ho7DiF30fAPMC7PDCmVuZHN0cmVhbQplbmRvYmoK CjM2IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStM aWJlcmF0aW9uU2VyaWYtQm9sZAovRmlyc3RDaGFyIDAKL0xhc3RDaGFyIDMxCi9XaWR0aHNbNzc3 IDYxMCA0NDMgNDQzIDY2NiA1NTYgNzIyIDI1MCAzODkgNTU2IDU1NiA1MDAgMzMzIDMzMyA3MjIg NTU2CjI3NyA1MDAgNTU2IDgzMyA1MDAgNTU2IDUwMCA2MTAgNDQzIDY2NiA1NTYgMzMzIDUwMCAy NzcgOTQzIDcyMgpdCi9Gb250RGVzY3JpcHRvciAzNCAwIFIKL1RvVW5pY29kZSAzNSAwIFIKPj4K ZW5kb2JqCgozNyAwIG9iago8PC9GMSAzNiAwIFIvRjIgMzEgMCBSL0YzIDI2IDAgUgo+PgplbmRv YmoKCjM4IDAgb2JqCjw8L0ZvbnQgMzcgMCBSCi9YT2JqZWN0PDwvVHIxNCAxNCAwIFIvVHI0IDQg MCBSL1RyOSA5IDAgUj4+Ci9FeHRHU3RhdGU8PC9FR1MxMCAxMCAwIFIvRUdTMTUgMTUgMCBSL0VH UzUgNSAwIFI+PgovUHJvY1NldFsvUERGL1RleHQvSW1hZ2VDL0ltYWdlSS9JbWFnZUJdCj4+CmVu ZG9iagoKMSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIxIDAgUi9SZXNvdXJjZXMgMzggMCBS L01lZGlhQm94WzAgMCA2MTIgNzkyXS9Bbm5vdHNbCjE2IDAgUiAyMCAwIFIgXQovR3JvdXA8PC9T L1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMiAwIFI+PgplbmRv YmoKCjYgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAyMSAwIFIvUmVzb3VyY2VzIDM4IDAgUi9N ZWRpYUJveFswIDAgNjEyIDc5Ml0vQW5ub3RzWwoxOSAwIFIgXQovR3JvdXA8PC9TL1RyYW5zcGFy ZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgNyAwIFI+PgplbmRvYmoKCjExIDAg b2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMjEgMCBSL1Jlc291cmNlcyAzOCAwIFIvTWVkaWFCb3hb MCAwIDYxMiA3OTJdL0Fubm90c1sKMTcgMCBSIDE4IDAgUiBdCi9Hcm91cDw8L1MvVHJhbnNwYXJl bmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxMiAwIFI+PgplbmRvYmoKCjIxIDAg b2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAzOCAwIFIKL01lZGlhQm94WyAwIDAgNjEyIDc5 MiBdCi9LaWRzWyAxIDAgUiA2IDAgUiAxMSAwIFIgXQovQ291bnQgMz4+CmVuZG9iagoKMTYgMCBv YmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzE1Ni45IDQ1 Mi40IDQ0MC45IDQ3MC44XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkvVVJJKGh0dHBzOi8vd3d3LmZy ZWVic2Qub3JnL3BsYXRmb3Jtcy9hcm0uaHRtbCk+Pgo+PgplbmRvYmoKCjE3IDAgb2JqCjw8L1R5 cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFsyMTUuMSAyNzguOSA0NTku NyAyOTcuM10vQTw8L1R5cGUvQWN0aW9uL1MvVVJJL1VSSShodHRwczovL2dpdGh1Yi5jb20vcHMw Njc1Ni9CSVRTX09TKT4+Cj4+CmVuZG9iagoKMTggMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBl L0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzIyMi4yIDI5Ny4zIDQ3OS43IDMxNS43XS9BPDwvVHlw ZS9BY3Rpb24vUy9VUkkvVVJJKGh0dHBzOi8vYml0YnVja2V0Lm9yZy9wczA2NzU2L2pvcy1rZXJu ZWwpPj4KPj4KZW5kb2JqCgoxOSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3Jk ZXJbMCAwIDBdL1JlY3RbNjEuNCAyMjAuMSA1MzQuNyAyMzguNV0vQTw8L1R5cGUvQWN0aW9uL1Mv VVJJL1VSSShodHRwczovL3d3dy51c2VuaXgub3JnL3N5c3RlbS9maWxlcy9jb25mZXJlbmNlL29z ZGkxMi9vc2RpMTItZmluYWwtNC5wZGYpPj4KPj4KZW5kb2JqCgoyMCAwIG9iago8PC9UeXBlL0Fu bm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbNjEuNCA0MTUuNiAzODQuMyA0MzRd L0E8PC9UeXBlL0FjdGlvbi9TL1VSSS9VUkkoaHR0cHM6Ly93aWtpLmZyZWVic2Qub3JnL0ZyZWVC U0QvYXJtL0N1YmllYm9hcmQpPj4KPj4KZW5kb2JqCgozOSAwIG9iago8PC9UeXBlL0NhdGFsb2cv UGFnZXMgMjEgMCBSCi9PcGVuQWN0aW9uWzEgMCBSIC9YWVogbnVsbCBudWxsIDBdCi9MYW5nKGVu LVVTKQo+PgplbmRvYmoKCjQwIDAgb2JqCjw8L0NyZWF0b3I8RkVGRjAwNTcwMDcyMDA2OTAwNzQw MDY1MDA3Mj4KL1Byb2R1Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2NjAw NjkwMDYzMDA2NTAwMjAwMDM0MDAyRTAwMzM+Ci9DcmVhdGlvbkRhdGUoRDoyMDE1MDMxOTIwNTk1 MCswNSczMCcpPj4KZW5kb2JqCgp4cmVmCjAgNDEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDMy OTUyIDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAwMTU3OCAwMDAwMCBuIAowMDAw MDAxNTk5IDAwMDAwIG4gCjAwMDAwMDE3OTUgMDAwMDAgbiAKMDAwMDAzMzEyMSAwMDAwMCBuIAow MDAwMDAxODM1IDAwMDAwIG4gCjAwMDAwMDMxMzQgMDAwMDAgbiAKMDAwMDAwMzE1NSAwMDAwMCBu IAowMDAwMDAzMzUxIDAwMDAwIG4gCjAwMDAwMzMyODMgMDAwMDAgbiAKMDAwMDAwMzM5MiAwMDAw MCBuIAowMDAwMDA0OTgxIDAwMDAwIG4gCjAwMDAwMDUwMDMgMDAwMDAgbiAKMDAwMDAwNTIwMCAw MDAwMCBuIAowMDAwMDMzNTY3IDAwMDAwIG4gCjAwMDAwMzM3MzAgMDAwMDAgbiAKMDAwMDAzMzg4 NSAwMDAwMCBuIAowMDAwMDM0MDQ2IDAwMDAwIG4gCjAwMDAwMzQyMzggMDAwMDAgbiAKMDAwMDAz MzQ1NCAwMDAwMCBuIAowMDAwMDA1MjQxIDAwMDAwIG4gCjAwMDAwMDY3NjIgMDAwMDAgbiAKMDAw MDAwNjc4NCAwMDAwMCBuIAowMDAwMDA2OTc2IDAwMDAwIG4gCjAwMDAwMDcyNjcgMDAwMDAgbiAK MDAwMDAwNzQyOCAwMDAwMCBuIAowMDAwMDIxNDcwIDAwMDAwIG4gCjAwMDAwMjE0OTMgMDAwMDAg biAKMDAwMDAyMTY5MCAwMDAwMCBuIAowMDAwMDIyMjYxIDAwMDAwIG4gCjAwMDAwMjI2ODAgMDAw MDAgbiAKMDAwMDAzMTc3OSAwMDAwMCBuIAowMDAwMDMxODAxIDAwMDAwIG4gCjAwMDAwMzIwMDUg MDAwMDAgbiAKMDAwMDAzMjQzNCAwMDAwMCBuIAowMDAwMDMyNzI2IDAwMDAwIG4gCjAwMDAwMzI3 NzkgMDAwMDAgbiAKMDAwMDAzNDQwMyAwMDAwMCBuIAowMDAwMDM0NTAxIDAwMDAwIG4gCnRyYWls ZXIKPDwvU2l6ZSA0MS9Sb290IDM5IDAgUgovSW5mbyA0MCAwIFIKL0lEIFsgPEQ4MDk2OUYwQzdB QTZGQzFCNjY5RjA4OTYzRjY5QTY5Pgo8RDgwOTY5RjBDN0FBNkZDMUI2NjlGMDg5NjNGNjlBNjk+ IF0KL0RvY0NoZWNrc3VtIC8xNEVDRTczNjg4OEQ5NjM1MTY0NUY5NzY5MTIwRDZBQQo+PgpzdGFy dHhyZWYKMzQ2NzYKJSVFT0YK --001a113403828b2f2a0511b7445d-- From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 15:50:57 2015 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E478D7C5 for ; Fri, 20 Mar 2015 15:50:57 +0000 (UTC) Received: from mail-wi0-x22b.google.com (mail-wi0-x22b.google.com [IPv6:2a00:1450:400c:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8BB5EEB4 for ; Fri, 20 Mar 2015 15:50:57 +0000 (UTC) Received: by wibgn9 with SMTP id gn9so18377575wib.1 for ; Fri, 20 Mar 2015 08:50:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:mime-version:content-type :content-transfer-encoding; bh=t9gpZcT87xBO5kPceDxStrTe8DFCFdmSrSKMivU9n7c=; b=JS5QuV88+81RtaffiODMVWGLbWlccJm7gj5KxwmzIeOl/K/FE7w9Oz9NbqKBEqupdH t9E1LVsnhVXBzYLoJOnD1ZA6kRC6Hzj0Dc1UHTEmtp2Cbr62xefWIkHqAVzW/LZaua4K woWbvY1Pn/wzIx/5W3UQUtZw+xQ7V9kTMeQY3FU1OFWgxzxgZ0X2u89obdV01k8ltEIh awsASm7k3QbtWtptUBZhB+uRtMB2iTEsOmf9l0k/7YLlQ9upUjxEMmQ74ETch+Mn37hK ajFfvp9/QTXcRlZQpRcq+Yd4A58xevXBUHUufzkkj2KK4rDJQt4ZXoeLRMOuMhCAwYYu G2zg== X-Received: by 10.194.57.170 with SMTP id j10mr90391382wjq.102.1426866655986; Fri, 20 Mar 2015 08:50:55 -0700 (PDT) Received: from localhost ([217.14.212.217]) by mx.google.com with ESMTPSA id y14sm6871693wjr.39.2015.03.20.08.50.54 for (version=SSLv3 cipher=RC4-SHA bits=128/128); Fri, 20 Mar 2015 08:50:55 -0700 (PDT) Date: Fri, 20 Mar 2015 16:50:51 +0100 From: To: hackers@freebsd.org Subject: gpg: DBG: armor-keys-failed Message-ID: <20150320165051.00004930@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 15:50:58 -0000 Just came out p7, then p8 to patch the patch of p7 for REL 10.1 Why do I get this: ------ gpg: DBG: armor-keys-failed (KEY 0x0000000000000000 BEGIN ) ->0 gpg: DBG: armor-keys-failed (KEY 0x0000000000000000 END ) ->0 gpg: key 8811D2A4: "Aaron Cary Dalton" not changed gpg: Total number processed: 1 gpg: unchanged: 1 ------ Domagoj S. From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 16:34:51 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7FB45926 for ; Fri, 20 Mar 2015 16:34:51 +0000 (UTC) Received: from mwork.nabble.com (mwork.nabble.com [162.253.133.43]) by mx1.freebsd.org (Postfix) with ESMTP id 67A345E4 for ; Fri, 20 Mar 2015 16:34:51 +0000 (UTC) Received: from msam.nabble.com (unknown [162.253.133.85]) by mwork.nabble.com (Postfix) with ESMTP id 4FCA0180459C for ; Fri, 20 Mar 2015 09:34:58 -0700 (PDT) Date: Fri, 20 Mar 2015 09:34:44 -0700 (MST) From: sson To: freebsd-hackers@freebsd.org Message-ID: <1426869284922-5998528.post@n5.nabble.com> In-Reply-To: <550BBF0E.2050600@freebsd.org> References: <20150309190119.GC72806@spindle.one-eyed-alien.net> <1426819192856-5998370.post@n5.nabble.com> <550BBF0E.2050600@freebsd.org> Subject: Re: UFS endian conversion MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 16:34:51 -0000 Julian Elischer-5 wrote > On 3/20/15 10:39 AM, sson wrote: >> Brooks Davis-2 wrote >>> On Mon, Mar 09, 2015 at 02:11:02PM +0100, Wojciech Puchar wrote: >>>> is it possible without backup/restore? >>>> >>>> any tool? >>>> >>>> or do i miss something in fsck_ffs manual? >>> You would need to backup on the source endian and restore on the >>> destination. Stacey Son (cc'd) has some patches to allow access to UFS >>> file systems of non-native endian that need someone to help polishing >>> them up. >>> >>> -- Brooks >>> >>> >>> attachment0 (188 bytes) >>> <http://freebsd.1045724.n5.nabble.com/attachment/5995345/0/attachment0> >> (Sorry, I have been on vacation and then started having #mbp2011 >> <https://mbp2011.org> issues with my laptop so I am just catching >> up.) >> >> I just rebased my patches to something a little closer to -current. You >> can >> find my preliminary changes here: >> >> https://github.com/staceyson/freebsd/commit/642ad5aec8e9d130cdd347699da9718b23ff749a >> >> This provides enough support for the somewhat trivial case (e.g. ro, no >> soft >> updates, etc.). This, indeed, needs more polishing. >> >> -stacey. >> \ > > rather cool. > does it all compile away to naught if not wanted? Yes. "option UFS_EI" (Endian Independent) in the kernel conf adds the byte swapping code. Without that option none of the byte swapping code is added. It is still in need of a lot of work, however. It would be a good GSoC project or something for someone to finish up and make useful. -stacey. -- View this message in context: http://freebsd.1045724.n5.nabble.com/UFS-endian-conversion-tp5995230p5998528.html Sent from the freebsd-hackers mailing list archive at Nabble.com. From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 17:04:17 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 02566437; Fri, 20 Mar 2015 17:04:17 +0000 (UTC) Received: from mail-lb0-x22d.google.com (mail-lb0-x22d.google.com [IPv6:2a00:1450:4010:c04::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 80B5F999; Fri, 20 Mar 2015 17:04:16 +0000 (UTC) Received: by lbbrr9 with SMTP id rr9so15379815lbb.0; Fri, 20 Mar 2015 10:04:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=YrYFxk+4QjWIgxzMYwIu7NTeh6qyV6LHAYKou6ygW5I=; b=j8h1KDN9WblNEinhYnVleroNfQWmW4g5YZnxLoGZhbx4x1qvfXqeT04EQqk4OVtrFk WqPvgALupo24HIEzKXmU5yRTCqQGKISla+OPMOc6BQwejV49Bs1GjZpJVF8RRnB9sQvm tCBrBLw+my2rXoWDx2C+v1bMh2xf8nIAVu2suibkD/8XC3cwS6PrqD6za62yQktBtdmY 1gmSBBwtvPxWRwD9V9ttEtDxkXjcElTat47EgwRPqd5lbkIaDDHFa2Q+WkthhS4yU8Y3 G3dgn7kjotzg1DVglxaAaE4PYu3bJfOgCwFfi/zoVPsDpwaveWL4xl0ccb6LG1k/6dou zNtw== MIME-Version: 1.0 X-Received: by 10.152.120.202 with SMTP id le10mr59371712lab.115.1426871054402; Fri, 20 Mar 2015 10:04:14 -0700 (PDT) Received: by 10.112.157.136 with HTTP; Fri, 20 Mar 2015 10:04:14 -0700 (PDT) In-Reply-To: <5509526C.8050000@selasky.org> References: <54FB120C.7080707@selasky.org> <54FB132E.9070901@selasky.org> <550683AF.1010007@selasky.org> <550708B0.8010601@selasky.org> <550934CE.9030607@selasky.org> <5509526C.8050000@selasky.org> Date: Fri, 20 Mar 2015 17:04:14 +0000 Message-ID: Subject: Re: GSoC 2015: USB-Front end driver From: Gokul Krishna To: Hans Petter Selasky Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-hackers@freebsd.org, freebsd-usb@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 17:04:17 -0000 Hi I found these links usefull to understand some major API constructs for freebsd http://www.selasky.org/hans_petter/usb4bsd/index_Obj8_00.html with the vusb_analyser and enabling the usb_debug locks in usb_debug.c from this link of freebsd usb source tree http://svnweb.freebsd.org/base/head/sys/dev/usb/ and by testing with keyboard which is low speed interrupt transfer endpoint will i be able to see frames data transfer and debug lock messages , so i cud understand the source code functions related to USB stack (major API functions which i watched in your FreeBSD USB stack and in link i mentioned above) which i need to implement in Xen frontend code. Kindly i want to discuss these in skype . Could you please mention your convenient availability time. thanks and regards gokul On Wed, Mar 18, 2015 at 10:24 AM, Hans Petter Selasky wrote: > Hi, > > On 03/18/15 11:19, Gokul Krishna wrote: > >> Hi >> Sure I will do that. >> I watched the video on USB stack on freeBSD and I could able understand >> those USB data transfer management constructs and other things explained . >> I also checked the vusb-analyser which is a Virtual USB Bus-analyser and >> understood certain debugging things that it gives information of data >> including device address from device descriptor and amount of data >> transfer >> from interface and endpoint (In and Out buffers) descriptors data >> structures . >> > > Another idea might be to implement a USB backend for Wireshark. It also > can understand USB transactions! > > >> The aim of the project is to convert XEN USB device model( made with Linux >> requirement ) into something compatible with FreeBSD USB Stack. >> > > Right! > > >> I also try to see things on para-virtualised XEN USB . I found the >> appropriate front-end driver source tree in slide number 7 in the below >> pdf >> link. >> http://www-archive.xenproject.org/files/xensummit_oracle09/PVUSB.pdf >> (please give your suggestions and comments and will i have access to see >> this code) >> I think i need to go through this particular source code to find my >> precise >> task >> >> So I will have more clarity in planning the list of milestone tasks for >> mid-term deliverables toll gate and final deliverables toll gates which i >> need to get reviewed from you before applying the proposal. >> > > When you have something ready, just contact me off-list and I'll give it a > review. > > --HPS > > From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 18:18:02 2015 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DA2D6C12 for ; Fri, 20 Mar 2015 18:18:02 +0000 (UTC) Received: from mail.michaelwlucas.com (mail.michaelwlucas.com [104.236.197.233]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9B9A61D3 for ; Fri, 20 Mar 2015 18:18:02 +0000 (UTC) Received: from mail.michaelwlucas.com (localhost [127.0.0.1]) by mail.michaelwlucas.com (8.14.9/8.14.7) with ESMTP id t2IHJma7005328 for ; Wed, 18 Mar 2015 17:19:48 GMT (envelope-from mwlucas@mail.michaelwlucas.com) Received: (from mwlucas@localhost) by mail.michaelwlucas.com (8.14.9/8.14.7/Submit) id t2IHJmhj005327 for hackers@freebsd.org; Wed, 18 Mar 2015 17:19:48 GMT (envelope-from mwlucas) Date: Wed, 18 Mar 2015 17:19:48 +0000 From: "Michael W. Lucas" To: hackers@freebsd.org Subject: zfsd from TrueOS? Message-ID: <20150318171947.GB5300@mail.michaelwlucas.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.michaelwlucas.com X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (mail.michaelwlucas.com [127.0.0.1]); Wed, 18 Mar 2015 17:19:49 +0000 (UTC) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 18:18:02 -0000 Hi, (Context: I'm writing a book on ZFS, for release before BSDCan.) It looks like TrueOS now has zfsd. It's 2-clause BSD licensed, apparently from SpectraLogic. https://github.com/trueos/trueos/tree/9.3-STABLE/sbin/zfsd Is there any chance for this to get imported into FreeBSD? If not, no worries. Thanks, ==ml -- Michael W. Lucas - mwlucas@michaelwlucas.com, Twitter @mwlauthor http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/ From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 20 18:44:21 2015 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 51DA9F76 for ; Fri, 20 Mar 2015 18:44:21 +0000 (UTC) Received: from mail-qc0-f177.google.com (mail-qc0-f177.google.com [209.85.216.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 120A67C4 for ; Fri, 20 Mar 2015 18:44:20 +0000 (UTC) Received: by qcbkw5 with SMTP id kw5so101041824qcb.2 for ; Fri, 20 Mar 2015 11:44:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=ZCWh51F9NKg0JR4bWkLou3i3gkbmG9vlpf0rJq50l6M=; b=hYIIi9Wn0yiBgzsQkRBLn1qLEvjhzeEMGYu8+nQfUZhb6Trb+0JNAZ30Fexl23Ht9I gNuHVsP5b2dZ5iUMsrQp0ovGXbtEV1in0CTCPFShrke/06Gu+6kwpsmxQeAUjoOcmByq qblgHNRrB/nU9or+44QKqfZpykeI69yzF2PGovA0ng7/SmKFX2fyG7CK/o8Syu7lvXKo UxzgfZZEQmVoTwORCWBaxaAZTudxUt0dT/P3IrvUsulUWvED2DVP5ZKuFODyLsjcnbtn Y+RKYaaeh9vNJnlpykrGxNURG2BRofAL7fFYqH+olvdb4obVCrrPmrcFZNObRxrHf/Gk vczQ== X-Gm-Message-State: ALoCoQkrRmPSVRfkXsquPuM2MFZmVSpAi/0MeSA7FnjTL2zl0h2tTmxKwsXgsjfEdy8NR+A0PNvb MIME-Version: 1.0 X-Received: by 10.55.21.140 with SMTP id 12mr123324173qkv.95.1426877053839; Fri, 20 Mar 2015 11:44:13 -0700 (PDT) Received: by 10.140.101.241 with HTTP; Fri, 20 Mar 2015 11:44:13 -0700 (PDT) In-Reply-To: <20150318171947.GB5300@mail.michaelwlucas.com> References: <20150318171947.GB5300@mail.michaelwlucas.com> Date: Fri, 20 Mar 2015 12:44:13 -0600 Message-ID: Subject: Re: zfsd from TrueOS? From: Will Andrews To: "Michael W. Lucas" Content-Type: text/plain; charset=UTF-8 Cc: hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 18:44:21 -0000 See: https://svnweb.freebsd.org/base/projects/zfsd/ zfsd depends on physical path KPI changes that aren't ready for FreeBSD/head yet. The above is a relatively recent drop from Spectra Logic. I don't know whether it's in sync with TrueOS's copy. --Will. On Wed, Mar 18, 2015 at 11:19 AM, Michael W. Lucas wrote: > Hi, > > (Context: I'm writing a book on ZFS, for release before BSDCan.) > > It looks like TrueOS now has zfsd. It's 2-clause BSD licensed, > apparently from SpectraLogic. > > https://github.com/trueos/trueos/tree/9.3-STABLE/sbin/zfsd > > Is there any chance for this to get imported into FreeBSD? > > If not, no worries. > > Thanks, > ==ml > > -- > Michael W. Lucas - mwlucas@michaelwlucas.com, Twitter @mwlauthor > http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/ > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 04:43:49 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 78478A04 for ; Sat, 21 Mar 2015 04:43:49 +0000 (UTC) Received: from mail-wg0-x22c.google.com (mail-wg0-x22c.google.com [IPv6:2a00:1450:400c:c00::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F111B14B for ; Sat, 21 Mar 2015 04:43:48 +0000 (UTC) Received: by wgbcc7 with SMTP id cc7so104556279wgb.0 for ; Fri, 20 Mar 2015 21:43:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=oKUDzhL7ZIrN6I/GnMoSmM0DIqynNOjJtqdA05z6Y8s=; b=mexGQvML6Xkv33YN7p+YEUA1TeXjnXfvANPbE6bbxV3Ty3lr1KQZQvPLk+bdv3WnCa RmftRpip/Soe+DtL9fVGbB7nDxMNipRvQn7Iev88kVb8lAezkBvrPDQKRY9hlJJGGgyg 0bkRTam0HpxNrJtS/vWg4CYcj5KySKvNg6NCDJKEJjFB40/m+RRLLMzVXW/3GyLn6L30 L85SFRhDcamAwIZo2im301q8Fk/VcARezhnC6kgaCuck0JupQSaA0hS8uW//cL0DqETu dPYxtuUgS0lPtuXtt+WvaT4gLUYSapQwxQukGP1ZZy9TdQ/O8Vi9/g6ctBb7oLx80Z5v D5Yg== X-Received: by 10.180.79.65 with SMTP id h1mr1621596wix.59.1426913027297; Fri, 20 Mar 2015 21:43:47 -0700 (PDT) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id ps4sm9046943wjc.31.2015.03.20.21.43.45 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 20 Mar 2015 21:43:45 -0700 (PDT) Date: Sat, 21 Mar 2015 05:43:43 +0100 From: Mateusz Guzik To: Tiwei Bie Subject: Re: [PATCH] Finish the task 'Fix corefilename race' Message-ID: <20150321044343.GD27736@dft-labs.eu> Mail-Followup-To: Mateusz Guzik , Tiwei Bie , Prasad Joshi , Konstantin Belousov , freebsd-hackers@freebsd.org References: <1426749223-18118-1-git-send-email-btw@mail.ustc.edu.cn> <20150319101019.GZ2379@kib.kiev.ua> <20150319113530.GA33176@freebsd> <20150319144004.GD2379@kib.kiev.ua> <20150320000418.GA78913@freebsd> <20150320063604.GA69307@freebsd> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20150320063604.GA69307@freebsd> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Konstantin Belousov , freebsd-hackers@freebsd.org, Prasad Joshi X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 04:43:49 -0000 On Fri, Mar 20, 2015 at 02:36:04PM +0800, Tiwei Bie wrote: > On Fri, Mar 20, 2015 at 11:18:27AM +0530, Prasad Joshi wrote: > > On Fri, Mar 20, 2015 at 5:34 AM, Tiwei Bie wrote: > > > On Thu, Mar 19, 2015 at 04:40:04PM +0200, Konstantin Belousov wrote: > > >> On Thu, Mar 19, 2015 at 07:35:30PM +0800, Tiwei Bie wrote: > > >> > On Thu, Mar 19, 2015 at 12:10:19PM +0200, Konstantin Belousov wrote: > > >> > > On Thu, Mar 19, 2015 at 03:13:43PM +0800, Tiwei Bie wrote: > > >> > > > Hi, Mateusz! > > >> > > > > > >> > > > I have finished the task: Fix corefilename race [1]. > > >> > > > > > >> > > > Following is my patch: > > >> > > > > > >> > > > --- > > >> > > > sys/kern/kern_sig.c | 22 ++++++++++++++++++++-- > > >> > > > 1 file changed, 20 insertions(+), 2 deletions(-) > > >> > > > > > >> > > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > > >> > > > index 58d9707..a1421cb 100644 > > >> > > > --- a/sys/kern/kern_sig.c > > >> > > > +++ b/sys/kern/kern_sig.c > > >> > > > @@ -3090,8 +3090,24 @@ static int compress_user_cores = 0; > > >> > > > #endif > > >> > > > > > >> > > > static char corefilename[MAXPATHLEN] = {"%N.core"}; > > >> > > > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > > >> > > > - sizeof(corefilename), "Process corefile name format string"); > > >> > > > + > > >> > > > +static struct sx corefilename_lock; > > >> > > > +SX_SYSINIT(corefilename_init, &corefilename_lock, "corefilename lock"); > > >> > > > + > > >> > > > +static int > > >> > > > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > > >> > > > +{ > > >> > > > + int error; > > >> > > > + > > >> > > > + sx_xlock(&corefilename_lock); > > >> > > > + error = sysctl_handle_string(oidp, corefilename, MAXPATHLEN, req); > > > > Hello, > > > > Though I am not an expert FreeBSD developer. In my humble opinion, > > MAXPATHLEN must be replaced with sizeof(corefilename). For example, > > the SYSCTL_STRING line (above) removed in this patch, preferred to use > > sizeof(corefilename) instead of MAXPATHLEN. > > > > Because corefilename is defined as `char corefilename[MAXPATHLEN]', > sizeof(corefilename) equals MAXPATHLEN. So, technically speaking, > both of them are right. But one of them may be preferred to keep the > coding style consistent. I also think sizeof(corefilename) is a > better choice. Thanks for pointing it out, I updated my patch: > > --- > sys/kern/kern_sig.c | 25 +++++++++++++++++++++++-- > 1 file changed, 23 insertions(+), 2 deletions(-) > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > index 58d9707..8410d9d 100644 > --- a/sys/kern/kern_sig.c > +++ b/sys/kern/kern_sig.c > @@ -3089,9 +3089,28 @@ SYSCTL_INT(_kern, OID_AUTO, compress_user_cores_gzlevel, CTLFLAG_RWTUN, > static int compress_user_cores = 0; > #endif > > +/* > + * Protect the access to corefilename[] by allproc_lock. > + */ > +#define corefilename_lock allproc_lock > + > static char corefilename[MAXPATHLEN] = {"%N.core"}; > -SYSCTL_STRING(_kern, OID_AUTO, corefile, CTLFLAG_RWTUN, corefilename, > - sizeof(corefilename), "Process corefile name format string"); > + > +static int > +sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > +{ > + int error; > + > + sx_xlock(&corefilename_lock); > + error = sysctl_handle_string(oidp, corefilename, sizeof(corefilename), > + req); > + sx_xunlock(&corefilename_lock); > + > + return (error); > +} > +SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > + CTLFLAG_MPSAFE, 0, 0, sysctl_kern_corefile, "A", > + "Process corefile name format string"); > > /* > * corefile_open(comm, uid, pid, td, compress, vpp, namep) > @@ -3120,6 +3139,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > name = malloc(MAXPATHLEN, M_TEMP, M_WAITOK | M_ZERO); > indexpos = -1; > (void)sbuf_new(&sb, name, MAXPATHLEN, SBUF_FIXEDLEN); > + sx_slock(&corefilename_lock); > for (i = 0; format[i] != '\0'; i++) { > switch (format[i]) { > case '%': /* Format character */ > @@ -3162,6 +3182,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, > break; > } > } > + sx_sunlock(&corefilename_lock); > free(hostname, M_TEMP); > if (compress) > sbuf_printf(&sb, GZ_SUFFIX); > Thanks, committed as r280312. -- Mateusz Guzik From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 08:57:28 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DFE6DEFA; Sat, 21 Mar 2015 08:57:28 +0000 (UTC) Received: from mail-oi0-x230.google.com (mail-oi0-x230.google.com [IPv6:2607:f8b0:4003:c06::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9FD76B53; Sat, 21 Mar 2015 08:57:28 +0000 (UTC) Received: by oifl3 with SMTP id l3so78400445oif.0; Sat, 21 Mar 2015 01:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=9DTS65mhCOnA7N5S8O0KxU2klmGyS2Bsrtmz+St/gjs=; b=FuIxMfDWeWoK22oxf/6vz5Qwfdn744YRcW373Pu1D6UaKGyA3gJfGUT5LCITwe25JZ 7fwy8wbbbnpH66igri+xcLuCtmrFeUpVcrk4O9t5OHOL7Hkf22Jpzc08YiFIt2DLWFDg gfzDBBe/5kGWzHSmI0ryEYlFTqs71iwroAZTT92xm6PB0wOi1NyukJK95+uGKPUuhkpf IBOMFTYmwmxu9lFS8JCNTESt/X5r9+i5cUN74XAQ5NFlF2J6LbNAV5qFbTJJdIVc3zC4 usLZs5/7OndzaQ9ThXIWR9jQ/IOtSGrBTeE3paRR2HIP7LRffKnOfaErXnhOCkdvDvkP +bMw== MIME-Version: 1.0 X-Received: by 10.60.83.233 with SMTP id t9mr63222597oey.73.1426928247973; Sat, 21 Mar 2015 01:57:27 -0700 (PDT) Sender: pali.gabor@gmail.com Received: by 10.182.135.35 with HTTP; Sat, 21 Mar 2015 01:57:27 -0700 (PDT) In-Reply-To: References: Date: Sat, 21 Mar 2015 09:57:27 +0100 X-Google-Sender-Auth: Jv-EzPGFw8FXAqAsxresJrx7Kiw Message-ID: Subject: Re: Self introduciton of Hao Sun and thoughts on LibNetstat From: Gabor Pali To: Hao Sun Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-hackers@freebsd.org, Robert Watson X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 08:57:29 -0000 [Please CC me in your replies, I am not on freebsd-hackers.] Hi Hao, 2015-03-19 1:53 GMT+01:00 Hao Sun : > I saw the project introduction of LibNetstat on > FreeBSD=E2=80=99s GSoC 15=E2=80=99 homepage and was attracted by the proj= ect. Thank you for contacting us, it is always good to see fresh people around who would like to contribute to the Project, especially as part of the Google Summer of Code program. > I think the LibNetstat would be fitful for me because I have related rich > project experiences on C, namely the FontDesigner project in the lab, the > face recognition plugin in Muticoreware and other course projects. I believe this project is mostly about refactoring the netstat(1) utility into a library and make the utility its client. This could come with many advantages, such as other programs could easily access the services it would offer and this would also help with accessing all the networking-related statistics in an platform-independent way, even through the network. The goal of the project is to come up with an API and ABI that is convenient to use and captures all the concepts that are currently used in netstat(1). > I read the project description carefully and have done the following jobs > since the monitoring organisations were published. I think those are indeed good first steps in order to get involved. > 1. Check out the code from //depot/projects/soc2009/pgj_libstat/. As the = p4 > introduction article shows, maybe I need a FreeBSD.org account to get > access into our depot. Thus would you please offer helps to create an > account? Please note that project you are talking about was done almost 6 years ago. Things can change a lot even in a year, so you may find yourself starting again from scratch (which may be equally either good or bad news for you). One of those changes is that Perforce has shifted out of the focus in the recent years, students have started to use the Project's Subversion repositories for their works, or I believe, now they can even choose to work with git, through GitHub. So, I guess you would only need a GitHub account and you are ready to fork the Git mirror of the FreeBSD src repository there: https://github.com/freebsd/freebsd > 2. I plan to run some demo codes to have an insight into the current vers= ion > of LibNetstat. Do we have demo codes or test cases which could help me > get familir with the code? It is also keep in mind that the original libnetstat code was written and kept updated until 2011, which assumes an older base system (and kernel) version of FreeBSD. Again, many changes might have changed (and I am sure they have indeed changed) in the recent years, like the kernel now has nice atomic counters for networking statistics (thanks to Gleb Smirnoff) which was one of the blocker issues when I stopped working on the project. Of course, if you would like to study the code that we wrote and you have questions about it, I am happy answer them -- note that you can access all the sources through the P4DB web, you do not have to check out anything. However, please also note I am not officially a src committer so my comments may not be as precise as for example, Robert's. I have gained some experienced in working with the networking parts of the FreeBSD kernel and I have a few years of experience in hacking on various projects ranging from computer games to compilers, but that is not my area of expertise therefore I may not be up-to-date enough on the subject. > 3. After Step #2, I want to read some existing modules, for instance, > routing abstractions. I believe this step would help me get clear how to > make the original interface less ABI-sensitive. So do you have any > suggestions where to start this step? Most of the userspace code can be found here: https://p4web.freebsd.org/@md=3Dd&cd=3D//depot/projects/soc2009/pgj_libstat= /src/lib/&c=3DhL4@//depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/?= ac=3D83 They may have related kernel-side changes, but for the first stab, I think that is what you may want to see. "netstat.h" and "netstat_internal.h" may tell you more about the abstractions I created. Feel free to dump them, and start from scratch, perhaps I would do them differently myself if I started to work on this project today. For further reference, you can also study the sister libraries of libnetstat, libprocstat and libmemstat. They are probably much more up-to-date with the current state of the development: https://github.com/freebsd/freebsd/tree/master/lib/libmemstat https://github.com/freebsd/freebsd/tree/master/lib/libprocstat Cheers, G=C3=A1bor From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 11:42:25 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5B0AC554 for ; Sat, 21 Mar 2015 11:42:25 +0000 (UTC) Received: from mail-wi0-x22e.google.com (mail-wi0-x22e.google.com [IPv6:2a00:1450:400c:c05::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EF827BF4 for ; Sat, 21 Mar 2015 11:42:24 +0000 (UTC) Received: by wibgn9 with SMTP id gn9so11895747wib.1 for ; Sat, 21 Mar 2015 04:42:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=FkH82JjQN9Rxwyl9cb+61E60FoiSX2N2KN8FjD+mALM=; b=fVV2w57wi8hne4GpMCW7Nxn1BOQ/5ARuNGxMmfmOiaBl0CMhrvFHMLfa/UBUJQmujS tOOzmSVJuOsZo/diKqFTZPalexSVyr3KouoWBAUU4Xfyh+7Cjltd+eX0nmsuK8dLutIn X9VrGgkG4Jo2L01iUywjFLe/Jh6zZb0irLX7GrpysEpZzf5GGvHtZAEXw6sQU967g5F6 OgGSn8YxoS4hmS424tBL1dvyv2qtKVoQIPnu98zBvmE4ENfG1qBTRqpCGJL904kntE0u /UkR8yUuYKkxPQz6IxeZmXbhlvddwxzsaJhgxUX6rC9BEKLuY8MRLlZm0F5WFY+jHc70 RPYA== MIME-Version: 1.0 X-Received: by 10.180.80.37 with SMTP id o5mr3778254wix.65.1426938143316; Sat, 21 Mar 2015 04:42:23 -0700 (PDT) Received: by 10.194.18.37 with HTTP; Sat, 21 Mar 2015 04:42:23 -0700 (PDT) Date: Sat, 21 Mar 2015 08:42:23 -0300 Message-ID: Subject: [PATCH] fix CLANG_OPT_SMALL flags From: Pedro Arthur To: "" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 11:42:25 -0000 Hi, Here is a patch which fix the CLANG_OPT_SMALL flags. --- share/mk/bsd.sys.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 3cb44c5..286fa4f 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -128,9 +128,9 @@ CWARNFLAGS+= -Wno-unknown-pragmas CLANG_NO_IAS= -no-integrated-as .endif CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ - -mllvm -simplifycfg-dup-ret -mllvm + -mllvm -simplifycfg-dup-ret .if ${COMPILER_VERSION} >= 30500 -CLANG_OPT_SMALL+= -enable-gvn=false +CLANG_OPT_SMALL+= -mllvm -enable-gvn=false .endif CFLAGS.clang+= -Qunused-arguments .if ${MACHINE_CPUARCH} == "sparc64" -- From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 13:59:41 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EE14738F for ; Sat, 21 Mar 2015 13:59:41 +0000 (UTC) Received: from ustc.edu.cn (email6.ustc.edu.cn [IPv6:2001:da8:d800::8]) by mx1.freebsd.org (Postfix) with ESMTP id EF3D09B5 for ; Sat, 21 Mar 2015 13:59:40 +0000 (UTC) Received: from freebsd.my.domain (unknown [58.211.218.74]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygCnVzw9eQ1VgPS+Aw--.49970S2; Sat, 21 Mar 2015 21:59:33 +0800 (CST) From: Tiwei Bie To: mjguzik@gmail.com Subject: [PATCH] Finish the task 'Validate coredump format string' Date: Sat, 21 Mar 2015 21:59:05 +0800 Message-Id: <1426946345-67889-1-git-send-email-btw@mail.ustc.edu.cn> X-Mailer: git-send-email 2.3.3 X-CM-TRANSID: LkAmygCnVzw9eQ1VgPS+Aw--.49970S2 X-Coremail-Antispam: 1UD129KBjvJXoW7tFy5Wr15uF18ur13XFWDArb_yoW8WrWUpF yY9r98Ar4rCF43WF1fZa95AFyY9395t3yUW3y7JrnxCr1Fgry8Xr1rKryFvF1kWr92gF98 Ja15XFy7KryjvaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkYb7Iv0xC_Zr1lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I 8E87Iv6xkF7I0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI 64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVWUJVW8Jw Am72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lc2xSY4AK67AK6ry8MxAIw28I cxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2 IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc40Y0x0EwIxGrwCI 42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42 IY6xAIw20EY4v20xvaj40_Zr0_Wr1UMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2 jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU0rMaUUUUUU== X-CM-SenderInfo: xewzqzxdloh3xvwfhvlgxou0/1tbiAQUPAVQhl-o8fQAAsT Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 13:59:42 -0000 Hi, Mateusz! I have finished the task: Validate coredump format string [1]. Following is my patch: --- sys/kern/kern_sig.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 8410d9d..52f05be 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3099,13 +3099,38 @@ static char corefilename[MAXPATHLEN] = {"%N.core"}; static int sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) { - int error; + char *format; + int i, error; + + format = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); + + sx_slock(&corefilename_lock); + strncpy(format, corefilename, MAXPATHLEN); + sx_sunlock(&corefilename_lock); + + error = sysctl_handle_string(oidp, format, MAXPATHLEN, req); + if (error != 0 || strcmp(format, corefilename) == 0) + goto out; + + for (i = 0; format[i] != '\0'; i++) { + if (format[i] == '%') { + char ch = format[++i]; + if (ch != '%' && ch != 'H' && ch != 'I' && + ch != 'N' && ch != 'P' && ch != 'U') { + error = EINVAL; + printf("Unknown format character %c in " + "corename `%s'\n", ch, format); + goto out; + } + } + } sx_xlock(&corefilename_lock); - error = sysctl_handle_string(oidp, corefilename, sizeof(corefilename), - req); + strncpy(corefilename, format, sizeof(corefilename)); sx_xunlock(&corefilename_lock); +out: + free(format, M_TEMP); return (error); } SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | -- 2.1.2 [1] https://wiki.freebsd.org/JuniorJobs#Validate_coredump_format_string Best regards, Tiwei Bie From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 19:14:20 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E7455613 for ; Sat, 21 Mar 2015 19:14:20 +0000 (UTC) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A35A8CE6 for ; Sat, 21 Mar 2015 19:14:20 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7::8b7:b034:6f55:4291] (unknown [IPv6:2001:7b8:3a7:0:8b7:b034:6f55:4291]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 2A2115C4D; Sat, 21 Mar 2015 20:14:17 +0100 (CET) Subject: Re: [PATCH] fix CLANG_OPT_SMALL flags Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Content-Type: multipart/signed; boundary="Apple-Mail=_7BE41FBA-24D9-4D07-BA87-5E8D75445FA2"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.5b6 From: Dimitry Andric In-Reply-To: Date: Sat, 21 Mar 2015 20:14:11 +0100 Message-Id: <0CD180FF-8237-4E4E-AC94-E651B53A8DD5@FreeBSD.org> References: To: Pedro Arthur X-Mailer: Apple Mail (2.2070.6) Cc: "" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 19:14:21 -0000 --Apple-Mail=_7BE41FBA-24D9-4D07-BA87-5E8D75445FA2 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On 21 Mar 2015, at 12:42, Pedro Arthur wrote: > Here is a patch which fix the CLANG_OPT_SMALL flags. ... > CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ > - -mllvm -simplifycfg-dup-ret -mllvm > + -mllvm -simplifycfg-dup-ret > .if ${COMPILER_VERSION} >= 30500 > -CLANG_OPT_SMALL+= -enable-gvn=false > +CLANG_OPT_SMALL+= -mllvm -enable-gvn=false ... Good catch, thanks. Committed in r280328. -Dimitry --Apple-Mail=_7BE41FBA-24D9-4D07-BA87-5E8D75445FA2 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.27 iEYEARECAAYFAlUNwwcACgkQsF6jCi4glqPTMwCfaO2jbaPHnmi8fDwnEgiYIrLZ vukAoILIT1Xi5zeW5R701INKMyZBxX4c =dpXj -----END PGP SIGNATURE----- --Apple-Mail=_7BE41FBA-24D9-4D07-BA87-5E8D75445FA2-- From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 20:05:06 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BDF0C8D7 for ; Sat, 21 Mar 2015 20:05:06 +0000 (UTC) Received: from mail-wg0-x22b.google.com (mail-wg0-x22b.google.com [IPv6:2a00:1450:400c:c00::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CC1B2EB for ; Sat, 21 Mar 2015 20:05:06 +0000 (UTC) Received: by wgs2 with SMTP id 2so8523905wgs.1 for ; Sat, 21 Mar 2015 13:05:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=qs4lH2w9gRWC/Dd/SfOYYuGJL94AJa78ItQtG7Uia/0=; b=cEmZmuZJL+Mud5VIMs3SgKB9iWbAp/3JwCfIY1mNgPJCvtOyOoQOzi5R1xt2J/daKD /8fDyWjOCBu7qKFc7BON8mG+tW6+Z4Gd6eXH0RwFys+EZy69RV0yC2nG70OD/pqArMrV Hu1jdiu87vSjC+5K8r53IZI4gjI/SRZI1kcWgscfRyNHq0OGGs5a9PstnuOZXwcG7INo lHcTqjOYKqsnrhP/La8bPzhoTye4KdUDoxA+5D+VGVC397oHbaWuZVRUzZoYaSD5hNYN I4yH6ucVkfGNm5M7uUrFnt+YGaiR6q7YqJiJ5xm72wXoc3cvtXLalLuPbnaIvmO+TWrT SVRw== X-Received: by 10.181.13.42 with SMTP id ev10mr6632843wid.69.1426968304035; Sat, 21 Mar 2015 13:05:04 -0700 (PDT) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id lu13sm3683690wic.10.2015.03.21.13.05.02 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sat, 21 Mar 2015 13:05:03 -0700 (PDT) Date: Sat, 21 Mar 2015 21:05:00 +0100 From: Mateusz Guzik To: Tiwei Bie Subject: Re: [PATCH] Finish the task 'Validate coredump format string' Message-ID: <20150321200500.GC14650@dft-labs.eu> Mail-Followup-To: Mateusz Guzik , Tiwei Bie , freebsd-hackers@freebsd.org References: <1426946345-67889-1-git-send-email-btw@mail.ustc.edu.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1426946345-67889-1-git-send-email-btw@mail.ustc.edu.cn> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 20:05:06 -0000 On Sat, Mar 21, 2015 at 09:59:05PM +0800, Tiwei Bie wrote: > Hi, Mateusz! > > I have finished the task: Validate coredump format string [1]. > > Following is my patch: > > --- > sys/kern/kern_sig.c | 31 ++++++++++++++++++++++++++++--- > 1 file changed, 28 insertions(+), 3 deletions(-) > > diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c > index 8410d9d..52f05be 100644 > --- a/sys/kern/kern_sig.c > +++ b/sys/kern/kern_sig.c > @@ -3099,13 +3099,38 @@ static char corefilename[MAXPATHLEN] = {"%N.core"}; > static int > sysctl_kern_corefile(SYSCTL_HANDLER_ARGS) > { > - int error; > + char *format; > + int i, error; > + > + format = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); > + > + sx_slock(&corefilename_lock); > + strncpy(format, corefilename, MAXPATHLEN); > + sx_sunlock(&corefilename_lock); > + > + error = sysctl_handle_string(oidp, format, MAXPATHLEN, req); > + if (error != 0 || strcmp(format, corefilename) == 0) > + goto out; > + > + for (i = 0; format[i] != '\0'; i++) { > + if (format[i] == '%') { > + char ch = format[++i]; > + if (ch != '%' && ch != 'H' && ch != 'I' && > + ch != 'N' && ch != 'P' && ch != 'U') { > + error = EINVAL; > + printf("Unknown format character %c in " > + "corename `%s'\n", ch, format); > + goto out; > + } > + } > + } Code traversing the string uses 'switch'. Any reason to deviate from that? It also uses log(LOG_ERR,) so why is printf is used here? corefilename can be also set with a bootloader tunable, so we have to validate what is being passed there and possibly reject it. When we know that the string we have set in corefilename is valid, there is no reason to have aforementioned log() in corefile_open(). As a side note 'I' more than once in the format is not really supported, so I would check for that too. > > sx_xlock(&corefilename_lock); > - error = sysctl_handle_string(oidp, corefilename, sizeof(corefilename), > - req); > + strncpy(corefilename, format, sizeof(corefilename)); > sx_xunlock(&corefilename_lock); > > +out: > + free(format, M_TEMP); > return (error); > } > SYSCTL_PROC(_kern, OID_AUTO, corefile, CTLTYPE_STRING | CTLFLAG_RWTUN | > -- > 2.1.2 > > [1] https://wiki.freebsd.org/JuniorJobs#Validate_coredump_format_string > > Best regards, > Tiwei Bie > -- Mateusz Guzik From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 20:13:30 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 002254E0; Sat, 21 Mar 2015 20:13:29 +0000 (UTC) Received: from mail-oi0-x229.google.com (mail-oi0-x229.google.com [IPv6:2607:f8b0:4003:c06::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BAF7260C; Sat, 21 Mar 2015 20:13:29 +0000 (UTC) Received: by oiag65 with SMTP id g65so114988183oia.2; Sat, 21 Mar 2015 13:13:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=JgdDCRNCBA1ZjlGJv020oVnP3bsIjCa5B1X/IBpEKFs=; b=vjJlBWudK/NK7xYyhfRF7PWOzh6VlgnvEKzyavccN6V5mvwttsfOaKZWsUf+sLYR+S IDm3us+noqqYF3fCyvH3UKU67pj3ESEEOPMQnxp9W1DREcti+ehiAIFaTkOWReZ7IQjw oTkGKQvAfYnRtbzUFcOqIlwxiXZYAi8WacGDhM/mtijZ7dBS9RzPVqDQ2wsqETXJ9Wm6 o4fJePQoOvIuMps413xrlwTxr+pKV0rX+drrD36MrDuylv8KvrzO4+v+j+9/Q6YtPQTO 4wt7QjyYV1pn8bUcJAKoO0EB0m99aty+xut+sokB7kbV74uUYxRRwHVDCNfrbL/2/pSS AUMw== MIME-Version: 1.0 X-Received: by 10.202.2.79 with SMTP id 76mr36432034oic.111.1426968809065; Sat, 21 Mar 2015 13:13:29 -0700 (PDT) Received: by 10.60.31.237 with HTTP; Sat, 21 Mar 2015 13:13:29 -0700 (PDT) Date: Sat, 21 Mar 2015 17:13:29 -0300 Message-ID: Subject: Re: GSOC Mentor From: Martin Galvan To: ps06756@gmail.com Content-Type: text/plain; charset=UTF-8 X-Mailman-Approved-At: Sat, 21 Mar 2015 21:54:49 +0000 Cc: freebsd-hackers@freebsd.org, freebsd-arm@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 20:13:30 -0000 Hello Pratik! I'm the one who re-wrote Alex Fedorov's SD driver and submitted it here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196081 While I was hoping to resume working on it back in february, my schedule was way too tight and I couldn't continue. However I'd really like to see that code make it to the kernel, even if we have to rewrite some of it. I don't have time right now for testing it on an actual board, but I'd be glad to support you on this with anything you may need provided that you keep Alex, Nicolas and my authorship notes in the code. I don't know if I qualify to be a GSOC mentor though, as I'm not a FreeBSD maintainer. Write me back and we can discuss a bit more of this. The A10 is a bit tough to support since there's barely any documentation on it, but with some effort we'll surely make this work. From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 21:54:54 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C4B6F5DA for ; Sat, 21 Mar 2015 21:54:54 +0000 (UTC) Received: from mail-pd0-x229.google.com (mail-pd0-x229.google.com [IPv6:2607:f8b0:400e:c02::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 94B14FB5 for ; Sat, 21 Mar 2015 21:54:54 +0000 (UTC) Received: by pdbop1 with SMTP id op1so144311934pdb.2 for ; Sat, 21 Mar 2015 14:54:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=hj6L9rc5nrrr2rEfRmbJ5CugyHlNNMULJTkmxJbVS2k=; b=rRa6sfVIV/yR0q/lXslSjVqvAcW1t6DDAhAALs1NDVNCKXbzMunYMRWgcwT3SysVmG FYNG0YG1uQQ75qtpbOQTPzp3iDizI0g3eZfm1URwTXzzugIa0bAllHJHXG5bLoZDC84y WBt/jAwjg+JjfQtlQ+Wk7skuYxMeTFvry3qtxtgLSJ0ZEMDiJmxxD/1sYgfxgRXZd/qZ nGSgagJsOjLhcoPlSnbGTrjVxD9Vj0EBhEHPPL8hx6eC/bRe9P+BMVDDzTJQWkkrMz3N cMnjkRF+CKLUKY6gfAhjcjHoo8EHlrr/3EFenAXe3V0hhPaGBvteWO/n56FXZHbWYJ0v tIWA== X-Received: by 10.68.131.36 with SMTP id oj4mr7664555pbb.121.1426974894280; Sat, 21 Mar 2015 14:54:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.66.179.203 with HTTP; Sat, 21 Mar 2015 14:54:24 -0700 (PDT) From: Yue Chen Date: Sat, 21 Mar 2015 17:54:24 -0400 Message-ID: Subject: How to traverse kernel threads? To: "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 21:54:54 -0000 Dear all, Is there an easy way to traverse all the kernel threads (including modules') in a FreeBSD kernel module? The resulting structure would be `` struct thread * ''. Best regards and thanks, From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 22:02:52 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 591CDE99 for ; Sat, 21 Mar 2015 22:02:52 +0000 (UTC) Received: from mail-we0-x230.google.com (mail-we0-x230.google.com [IPv6:2a00:1450:400c:c03::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DB61DF5 for ; Sat, 21 Mar 2015 22:02:51 +0000 (UTC) Received: by wetk59 with SMTP id k59so108261208wet.3 for ; Sat, 21 Mar 2015 15:02:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=uJuKIMBNMMlvIhl/2pTbOHOcvYnvy0JJZTb6H9oRbac=; b=VJYNPUZHM8zBeG/LL3cVX15voLWnlsQh9qLC1ThjM+8p0WMWGEQWXK8pddKaDxMJLx yjytigjBHhvkiNo/ZYDHERSFA5wmzRZxvo17J52aoiCEUd5WbOePklApd8zCeskpCqw0 GOoEhGU7SNyrhFY+qdXanu+ZxDnUHmEUC1tSRyfbXPk5ShniXyOeZDbhSx1kdAXlnB0R FrjFRSzLl0Gq2+3QLDA27Yb2kP4OpVCXscnrZRhIQXp68lWds2OJ6ML++cKa+FeXDYES cm2NSR+mlGrAPVLukyZGWq57VINfiR7BtBjexoHQeqgsD3hz37LIkKaf8Yi/R+LJmIEf kj3Q== X-Received: by 10.180.103.170 with SMTP id fx10mr2100321wib.57.1426975370283; Sat, 21 Mar 2015 15:02:50 -0700 (PDT) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id uo6sm12285944wjc.49.2015.03.21.15.02.48 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sat, 21 Mar 2015 15:02:49 -0700 (PDT) Date: Sat, 21 Mar 2015 23:02:46 +0100 From: Mateusz Guzik To: Yue Chen Subject: Re: How to traverse kernel threads? Message-ID: <20150321220246.GE14650@dft-labs.eu> Mail-Followup-To: Mateusz Guzik , Yue Chen , "freebsd-hackers@freebsd.org" References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 22:02:52 -0000 On Sat, Mar 21, 2015 at 05:54:24PM -0400, Yue Chen wrote: > Dear all, > > Is there an easy way to traverse all the kernel threads (including > modules') in a FreeBSD kernel module? > The resulting structure would be `` struct thread * ''. > Well if you read kthread_add you can see you just need to traverse threads linked into proc0. Chances are you also want to traverse kernel process (see kproc_create). The real question though is what are you trying to achieve. -- Mateusz Guzik From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 22:12:28 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D459F286 for ; Sat, 21 Mar 2015 22:12:28 +0000 (UTC) Received: from mail-pa0-x233.google.com (mail-pa0-x233.google.com [IPv6:2607:f8b0:400e:c03::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A9A0C155 for ; Sat, 21 Mar 2015 22:12:28 +0000 (UTC) Received: by padcy3 with SMTP id cy3so146949692pad.3 for ; Sat, 21 Mar 2015 15:12:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=UcKJmj+N12hWQpOCNRDGDVMr11Ru/OPPuPwTOV9hhbQ=; b=On9LvyPAMESC/QvtLTg6n81Xh2V3TeS/tI2Hd2KgGp6Dc4bgNELpPVGtNqnd+R9AjS wFDRAwgM/ytB4tvAYoXyM2+1XyGc4XmAhdffoWDeLGyGtJqqGSYBQnOM/I0SFRHAAPl7 m+rlQfK2t059/Q1KIUoEIUKY2N/gLEtf2I2JH+73xe5ubTljh4zfBKA26rq+8/hJi8EE 2djbv3uzFFVvxPamZH5XNhJ0956J/UKc18K1PBttl64x89x0JOKL7QTC2ehkTFfBcWWD K4XvrcF2y1Vt/bJ/uhFHKQTMSyuCco7CjzbiVr3Oy1kV/fyvhnefUygJKJSCcsN6XyK1 OLxw== X-Received: by 10.68.248.8 with SMTP id yi8mr8006990pbc.56.1426975948119; Sat, 21 Mar 2015 15:12:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.66.179.203 with HTTP; Sat, 21 Mar 2015 15:11:57 -0700 (PDT) In-Reply-To: <20150321220246.GE14650@dft-labs.eu> References: <20150321220246.GE14650@dft-labs.eu> From: Yue Chen Date: Sat, 21 Mar 2015 18:11:57 -0400 Message-ID: Subject: Re: How to traverse kernel threads? To: Mateusz Guzik , Yue Chen , "freebsd-hackers@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 22:12:29 -0000 Thanks for the quick reply. What I am trying to achieve is to get the stack starting and ending address of a kernel module. I think it could be got from struct thread *td td->td_kstack td->td_kstack + td->td_kstack_pages * PAGE_SIZE So I need to get the ``td'' first. Maybe there is another way to get it other than traversing? On Sat, Mar 21, 2015 at 6:02 PM, Mateusz Guzik wrote: > On Sat, Mar 21, 2015 at 05:54:24PM -0400, Yue Chen wrote: > > Dear all, > > > > Is there an easy way to traverse all the kernel threads (including > > modules') in a FreeBSD kernel module? > > The resulting structure would be `` struct thread * ''. > > > > Well if you read kthread_add you can see you just need to traverse > threads linked into proc0. > > Chances are you also want to traverse kernel process (see kproc_create). > > The real question though is what are you trying to achieve. > > -- > Mateusz Guzik > From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 21 23:26:28 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6A22216A for ; Sat, 21 Mar 2015 23:26:28 +0000 (UTC) Received: from mail-we0-x22c.google.com (mail-we0-x22c.google.com [IPv6:2a00:1450:400c:c03::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EB79BA19 for ; Sat, 21 Mar 2015 23:26:27 +0000 (UTC) Received: by weop45 with SMTP id p45so109136101weo.0 for ; Sat, 21 Mar 2015 16:26:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=GDpYO1GrtywxNpvNYRjdH67G6hRP3UmnXVavsKXBGPs=; b=b3ucEfuKW95i3E9wdPcl0mLBJl7YDYXFtIAnKDKH+KjRtwZT8CDxIOBN1zOY2gxRsK ijn+Usafp82KTBrMyqH/t5NZT/AUP6bSo8KZtz/hM9A8m57EMOeFer7QzVbH0ks2GFpe 1iE1nqQC2tvyhJ9U8MYW2ibBREwUFBiprCIPsSSu12AGw8jsRIMAgukmfaJbS4MhC7uf s01n28TCzmatOBwwGQKU0TKbXyD0S9gf0VKLjLfbhVRgbeVCPr4qY3n9/+NAy6vOVJKu lSkh8gen1WIUxDM/2sw9BUV1sautqb/sbvGwIw9JiFi9f7qkNiyeDCileFVzihqqln4Y HkRA== X-Received: by 10.195.13.168 with SMTP id ez8mr169985343wjd.30.1426980386372; Sat, 21 Mar 2015 16:26:26 -0700 (PDT) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id a6sm4251701wiy.17.2015.03.21.16.26.24 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sat, 21 Mar 2015 16:26:25 -0700 (PDT) Date: Sun, 22 Mar 2015 00:26:22 +0100 From: Mateusz Guzik To: Yue Chen Subject: Re: How to traverse kernel threads? Message-ID: <20150321232622.GF14650@dft-labs.eu> Mail-Followup-To: Mateusz Guzik , Yue Chen , "freebsd-hackers@freebsd.org" References: <20150321220246.GE14650@dft-labs.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Mar 2015 23:26:28 -0000 On Sat, Mar 21, 2015 at 06:11:57PM -0400, Yue Chen wrote: > Thanks for the quick reply. > > What I am trying to achieve is to get the stack starting and ending address > of a kernel module. > I think it could be got from > > struct thread *td > td->td_kstack > td->td_kstack + td->td_kstack_pages * PAGE_SIZE > > So I need to get the ``td'' first. > Maybe there is another way to get it other than traversing? > Kernel modules don't have stacks, presumably you mean kernel threads created by code in modules. But how would you go about recognising that given thread was created by given module? I don't see starting func stored anywhere, so you would need some crap hacks to unwind the stack by hand and even that is not reliable (not to mention terrible). But once more the real question is what are you trying to do. I don't see any use for stack info of random threads. -- Mateusz Guzik