Date: Mon, 12 Nov 2018 12:55:22 -0500 From: Andrew Gallatin <gallatin@cs.duke.edu> To: Matt Macy <mmacy@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r340097 - in head/sys: kern sys Message-ID: <b9fb91a2-af84-e632-3e85-c566e5458201@cs.duke.edu> In-Reply-To: <201811030343.wA33hXRD067832@repo.freebsd.org> References: <201811030343.wA33hXRD067832@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/2/18 11:43 PM, Matt Macy wrote: > Author: mmacy > Date: Sat Nov 3 03:43:32 2018 > New Revision: 340097 > URL: https://urldefense.proofpoint.com/v2/url?u=https-3A__svnweb.freebsd.org_changeset_base_340097&d=DwIDaQ&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=Ed-falealxPeqc22ehgAUCLh8zlZbibZLSMWJeZro4A&m=C46M75X_gZcJY3aXGYy_P4DQJhD-uEFU00BP6AzHPik&s=JvPbkoXDB3zzo2IjmopaQxJ3kRcIwzosrpY4elq80LQ&e= > > Log: > Convert epoch to read / write records per cpu > > In discussing D17503 "Run epoch calls sooner and more reliably" with > sbahra@ we came to the conclusion that epoch is currently misusing the > ck_epoch API. It isn't safe to do a "write side" operation (ck_epoch_call > or ck_epoch_poll) in the middle of a "read side" section. Since, by definition, > it's possible to be preempted during the middle of an EPOCH_PREEMPT > epoch the GC task might call ck_epoch_poll or another thread might call > ck_epoch_call on the same section. The right solution is ultimately to change > the way that ck_epoch works for this use case. However, as a stopgap for > 12 we agreed to simply have separate records for each use case. > > Tested by: pho@ > > MFC after: 3 days Hi Matt, Can you elaborate why this is needed? I seem to recall that Samy Al Bahra made some upstream changes to CK that modified the CK API to legitimize our use of the API, and these were brought into FreeBSD in r339375. Were these insufficient? Also, it would be great if you could get review on epoch changes. Epoch is totally awesome, and I'm thrilled that you brought it in. However, it is very tricky, and it seems like changes here could benefit from review. Thanks, Drew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b9fb91a2-af84-e632-3e85-c566e5458201>