Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 768720 - gentoo-sources-5.10.11: movies over nfs unplayable
Summary: gentoo-sources-5.10.11: movies over nfs unplayable
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL: https://bugzilla.kernel.org/show_bug....
Whiteboard: gentoo-sources-5.10.15
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2021-02-04 22:46 UTC by DaggyStyle
Modified: 2021-02-11 00:23 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
config.gz (config.gz,30.13 KB, application/gzip)
2021-02-04 22:46 UTC, DaggyStyle
Details
bisect log (bisect.log,2.91 KB, text/x-log)
2021-02-05 09:36 UTC, DaggyStyle
Details

Note You need to log in before you can comment on or make changes to this bug.
Description DaggyStyle 2021-02-04 22:46:07 UTC
I have a server running gentoo-sources-5.10.x and a client running libreelec inside a kvm which runs on gentoo running gentoo-sources-5.4.92
the server exports a folder via nfs as follows:
/mnt/share              10.0.0.0/24(ro,nohide,insecure,no_subtree_check)

up until 5.10.10, I was able to view fhd content via nfs from the server on libreelec.
since 5.10.11, I'm unable to, I see artifacts random sounds and it usually stops there.

Reproducible: Always
Comment 1 DaggyStyle 2021-02-04 22:46:38 UTC
Created attachment 685803 [details]
config.gz
Comment 2 DaggyStyle 2021-02-04 22:48:00 UTC
 $ emerge --info gentoo-sources nfs-utils      
Portage 3.0.13 (python 3.7.9-final-0, default/linux/amd64/17.1/desktop/plasma, gcc-10.2.0, glibc-2.32-r5, 5.10.11-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.10.11-gentoo-x86_64-AMD_Ryzen_7_2700X_Eight-Core_Processor-with-gentoo-2.7
KiB Mem:    32834168 total,  29202588 free
KiB Swap:   16437244 total,  16437244 free
Head commit of repository gentoo: aa7b59dfb5f221348eb495f358a7b953839e3bf3

sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
app-shells/bash:          5.0_p18::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          2.7.18-r6::gentoo, 3.7.9-r2::gentoo, 3.8.7-r1::gentoo, 3.9.1-r1::gentoo
dev-util/cmake:           3.18.5::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1-r1::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.2-r1::gentoo
sys-devel/binutils:       2.35.1-r1::gentoo
sys-devel/gcc:            10.2.0-r5::gentoo
sys-devel/gcc-config:     2.3.2-r1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r5::gentoo
Repositories:

gentoo
    location: /mnt/portage/tree/official
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/gentoo.git
    priority: -1000

Utopia_Platinia
    location: /mnt/portage/tree/overlay
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE @FREE AdobeFlash-11.x MPEG-4 Skype-TOS linux-fw-redistributable no-source-code hplip-plugin OPERA-2014 unRAR fs2_open Alasir all-rights-reserved ms-teams-pre OPERA-2018"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -mtune=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native -mtune=native"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --quiet-build=n"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=native -mtune=native"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs clean-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=native -mtune=native"
GENTOO_MIRRORS="ftp://ftp.gtlib.gatech.edu/pub/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo"
LANG="en_IL.US-ASCII"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en es"
MAKEOPTS="-j17 -l8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=180"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi activities alsa amd64 berkdb bidi branding bzip2 cairo cdda cdr cli crypt cryptsetup cups d3d9 dbus declarative dri drm dts dvd dvdr elogind emboss encode exif ffmpeg flac fortran gdbm geckodriver gif gpm gtk gui iconv icu ipv6 java joystick jpeg kde kipi kwallet lcms libglvnd libnotify libtirpc lm-sensors lm_sensors lto lvm mad matroska mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opencl opengl openmp pam pango pcre pdf pdfimport pgo phonon physics plasma png policykit postproc ppds python qml qt5 rar readline samba sdl seccomp sound spell split-usr sqlite ssl startup-notification svg system-harfbuzz system-heimdal system-icu system-jpeg system-jsoncpp system-libevent system-libvpx system-llvm system-sqlite system-webp tcpd tiff truetype udev udisks unicode upower usb vaapi vdpau vlc vorbis vulkan widgets wxwidgets x264 x265 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev" KERNEL="linux" L10N="he es en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AArch64 ARM AMDGPU BPF" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7" QEMU_SOFTMMU_TARGETS="x86_64 arm aarch64" QEMU_USER_TARGETS="x86_64 arm aarch64" RUBY_TARGETS="ruby26" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="v4l amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS

=================================================================
                        Package Settings
=================================================================

sys-kernel/gentoo-sources-5.10.13::gentoo was built with the following:
USE="experimental -build -symlink" ABI_X86="(64)"


net-fs/nfs-utils-2.5.2::gentoo was built with the following:
USE="ipv6 libmount nfsidmap nfsv4 nfsv41 tcpd uuid -caps -junction -kerberos -ldap -nfsdcld (-selinux)" ABI_X86="(64)"
Comment 3 Mike Pagano gentoo-dev 2021-02-04 23:14:39 UTC
Are you familiar with performing a git bisect ?
Comment 4 Alice Ferrazzi Gentoo Infrastructure gentoo-dev 2021-02-05 04:02:14 UTC
@daggystyle please follow this guide https://wiki.gentoo.org/wiki/Kernel_git-bisect
Comment 5 DaggyStyle 2021-02-05 08:11:48 UTC
yes, I know how to preform it, will update when I know more.
Comment 6 DaggyStyle 2021-02-05 09:36:13 UTC
Created attachment 685836 [details]
bisect log
Comment 7 DaggyStyle 2021-02-05 09:36:18 UTC
bisect found this:
00ee972739fb2526d3936f1e7ccfc8c91d250c60 is the first bad commit
commit 00ee972739fb2526d3936f1e7ccfc8c91d250c60
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Fri Dec 18 12:28:41 2020 -0500

    SUNRPC: Handle TCP socket sends with kernel_sendpage() again
    
    [ Upstream commit 4a85a6a3320b4a622315d2e0ea91a1d2b013bce4 ]
    
    Daire Byrne reports a ~50% aggregrate throughput regression on his
    Linux NFS server after commit da1661b93bf4 ("SUNRPC: Teach server to
    use xprt_sock_sendmsg for socket sends"), which replaced
    kernel_send_page() calls in NFSD's socket send path with calls to
    sock_sendmsg() using iov_iter.
    
    Investigation showed that tcp_sendmsg() was not using zero-copy to
    send the xdr_buf's bvec pages, but instead was relying on memcpy.
    This means copying every byte of a large NFS READ payload.
    
    It looks like TLS sockets do indeed support a ->sendpage method,
    so it's really not necessary to use xprt_sock_sendmsg() to support
    TLS fully on the server. A mechanical reversion of da1661b93bf4 is
    not possible at this point, but we can re-implement the server's
    TCP socket sendmsg path using kernel_sendpage().
    
    Reported-by: Daire Byrne <daire@dneg.com>
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=209439
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 net/sunrpc/svcsock.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 85 insertions(+), 1 deletion(-)

bisect log attached
Comment 8 DaggyStyle 2021-02-05 11:05:46 UTC
also reported at https://bugs.archlinux.org/task/69491 and https://github.com/xbmc/xbmc/issues/19147
Comment 9 DaggyStyle 2021-02-05 16:08:13 UTC
reverting this commit on 5.10.13 confirms it is the issue as nfs playback is working again
Comment 11 DaggyStyle 2021-02-08 21:57:20 UTC
5.10.14 doesn't seem to have this fix in it
Comment 12 DaggyStyle 2021-02-09 05:10:08 UTC
(In reply to DaggyStyle from comment #10)
> this:
> https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=nfsd-
> 5.11-3&id=bad4c6eb5eaa8300e065bd4426727db5141d687d might fix the issue

applying this patch on 5.10.14 fixes the issue
Comment 13 Mike Pagano gentoo-dev 2021-02-09 18:37:09 UTC
(In reply to DaggyStyle from comment #12)
> (In reply to DaggyStyle from comment #10)
> > this:
> > https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=nfsd-
> > 5.11-3&id=bad4c6eb5eaa8300e065bd4426727db5141d687d might fix the issue
> 
> applying this patch on 5.10.14 fixes the issue

Sorry, I've been out of pocket on a new build for my kernel building system but now I'm alive.

I'll check this out and queue it up for release.
Comment 15 Mike Pagano gentoo-dev 2021-02-09 19:11:10 UTC
Queued for next release

commit f2b7022ccc048d545f23b383a7716a0cf9c7304f (HEAD -> 5.10, origin/5.10)
Author: Mike Pagano <mpagano@gentoo.org>
Date:   Tue Feb 9 14:09:13 2021 -0500

    SUNRPC: Fix NFS READs that start at non-page-aligned offsets
    
    See https://bugs.gentoo.org/768720
    Thanks to DaggyStyle for reporting and testing
    
    Signed-off-by: Mike Pagano <mpagano@gentoo.org>