Re: [ANNOUNCE] Git v2.32.0-rc3 - t5300 Still Broken on NonStop ia64/x86

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 02, 2021 at 04:34:51PM -0400, Randall S. Becker wrote:

> >> The wrapper should apply to all platforms.  NFS (and presumably other
> >> network FSes) can be mounted with interrupts enabled.
> >
> >I don't mind that, as the wrapper is pretty low-cost (and one less Makefile knob is nice). If it's widespread, though, I find it curious that
> >nobody has run into it before now.
> 
> I suspect this is because of the way the file system on NonStop behaves. It is a multi-processor platform, with multi-cores, so anything can happen. If the file system is delayed for any reason, like a signal coming from a different core (EINTR has high priority), then fsync() will be interrupted. EINTR is allowed on NonStop for fsync(). So it would be really great if the patch included a modification to config.mak.uname to include that. This would be a timing-only issue on most other systems, probably something that would hit NFS.
> 
> The patch for the config is:
> diff --git a/config.mak.uname b/config.mak.uname
> index cb443b4e02..ac3e3ca2c5 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -566,6 +566,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
>         NO_REGEX = NeedsStartEnd
>         NO_PTHREADS = UnfortunatelyYes
>         FREAD_READS_DIRECTORIES = UnfortunatelyYes
> +       FSYNC_NEEDS_RESTART = YesPlease
> 
>         # Not detected (nor checked for) by './configure'.

Yeah, if we don't make it unconditional, then this is the obvious next
step. But the more important question is: did you test this out and did
it fix the test breakage you saw on NonStop?

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux