From owner-svn-src-all@freebsd.org Fri May 11 20:23:57 2018 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2CA6FFCAE6D; Fri, 11 May 2018 20:23:57 +0000 (UTC) (envelope-from mmacy@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC525875F6; Fri, 11 May 2018 20:23:56 +0000 (UTC) (envelope-from mmacy@freebsd.org) Received: from mail-it0-f48.google.com (mail-it0-f48.google.com [209.85.214.48]) (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)) (Authenticated sender: mmacy) by smtp.freebsd.org (Postfix) with ESMTPSA id 952B81E8BD; Fri, 11 May 2018 20:23:56 +0000 (UTC) (envelope-from mmacy@freebsd.org) Received: by mail-it0-f48.google.com with SMTP id p3-v6so3491651itc.0; Fri, 11 May 2018 13:23:56 -0700 (PDT) X-Gm-Message-State: ALKqPwcBL7RD4JJKCdrIfP8E4X4+i6KH+/CdZYcnwrCOWs4MvcPEkxjP 7w5v3YIWGdQhxIWslzVuPxtgxNK06UGehe7Eei8= X-Google-Smtp-Source: AB8JxZoOX/t/76Dii5kbGvDlVYSuerSaap6ForXSAumSrVfZ447eChaHBZScmBDMyKdecVL6e8B9w4WHDsYmLg7Dxn8= X-Received: by 2002:a24:5b54:: with SMTP id g81-v6mr4807291itb.7.1526070235953; Fri, 11 May 2018 13:23:55 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:3e4a:0:0:0:0:0 with HTTP; Fri, 11 May 2018 13:23:55 -0700 (PDT) In-Reply-To: <492b8199-036c-a336-845f-3cb02d4e9758@FreeBSD.org> References: <201805101755.w4AHtPRt028900@repo.freebsd.org> <492b8199-036c-a336-845f-3cb02d4e9758@FreeBSD.org> From: Matthew Macy Date: Fri, 11 May 2018 13:23:55 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r333466 - in head: contrib/bmake sys/conf sys/kern sys/modules/epoch_test sys/sys sys/tests/epoch To: Bryan Drewery Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 May 2018 20:23:57 -0000 It fixes something that is completely broken in bmake that everyone in the know patches on their local systems. It was included by accident. I immediately backed it out in the subsequent commit. On Fri, May 11, 2018 at 1:13 PM, Bryan Drewery wrote: > On 5/10/2018 10:55 AM, Matt Macy wrote: >> Author: mmacy >> Date: Thu May 10 17:55:24 2018 >> New Revision: 333466 >> URL: https://svnweb.freebsd.org/changeset/base/333466 >> >> Log: >> Add simple preempt safe epoch API >> >> Read locking is over used in the kernel to guarantee liveness. This API makes >> it easy to provide livenes guarantees without atomics. >> >> Includes epoch_test kernel module to stress test the API. >> >> Documentation will follow initial use case. >> >> Test case and improvements to preemption handling in response to discussion >> with mjg@ >> >> Reviewed by: imp@, shurd@ >> Approved by: sbruno@ >> >> Added: >> head/sys/kern/subr_epoch.c (contents, props changed) >> head/sys/modules/epoch_test/ >> head/sys/modules/epoch_test/Makefile (contents, props changed) >> head/sys/sys/epoch.h (contents, props changed) >> head/sys/tests/epoch/ >> head/sys/tests/epoch/epoch_test.c (contents, props changed) >> Modified: >> head/contrib/bmake/job.c >> head/sys/conf/files >> head/sys/conf/kern.pre.mk >> head/sys/kern/kern_malloc.c >> head/sys/kern/kern_synch.c >> head/sys/kern/subr_trap.c >> head/sys/kern/subr_turnstile.c >> head/sys/sys/proc.h >> head/sys/sys/turnstile.h >> >> Modified: head/contrib/bmake/job.c >> ============================================================================== >> --- head/contrib/bmake/job.c Thu May 10 17:22:04 2018 (r333465) >> +++ head/contrib/bmake/job.c Thu May 10 17:55:24 2018 (r333466) >> @@ -2121,13 +2121,15 @@ Job_CatchOutput(void) >> { >> int nready; >> Job *job; >> - int i; >> + int i, pollToken; >> >> (void)fflush(stdout); >> >> + pollToken = 0; >> + >> /* The first fd in the list is the job token pipe */ >> do { >> - nready = poll(fds + 1 - wantToken, nfds - 1 + wantToken, POLL_MSEC); >> + nready = poll(fds + 1 - pollToken, nfds - 1 + pollToken, POLL_MSEC); >> } while (nready < 0 && errno == EINTR); >> >> if (nready < 0) > > What's up with this? > > -- > Regards, > Bryan Drewery >