Re: Can we use emulation of other architectures to run integration tests?

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

 



On Thu, Jul 30, 2020 at 01:38:41PM +0200, Florian Weimer wrote:
> * Daniel P. Berrangé:
> 
> > I'm not familiar with what COPR is doing for s39x0 ?  Is it using the
> > simple QEMU linux-user syscall emulation, or is it running a proper
> > QEMU s390x VM.
> >
> > I'm guessing probably the former. The linux-user syscall emulation is
> > truely amazing, but it is certainly not feature complete or fully
> > robust.
> 
> It still implements vfork using fork, right?  This means we should
> likely fix posix_spawn in glibc to support this deviation from the
> kernel interface.  Other Linux emulations have exactly the same problem.

Yeah, all of fork(), vfork() and clone(), end up getting mapped onto
fork() or pthread_create() depending the precise set of CLONE_* flags
required.

Common helper for all:

  https://gitlab.com/qemu-project/qemu/-/blob/master/linux-user/syscall.c#L172
  https://gitlab.com/qemu-project/qemu/-/blob/master/linux-user/syscall.c#L6086

And then the syscall wiring

vfork: https://gitlab.com/qemu-project/qemu/-/blob/master/linux-user/syscall.c#L10792

 fork: https://gitlab.com/qemu-project/qemu/-/blob/master/linux-user/syscall.c#L7882

clone: https://gitlab.com/qemu-project/qemu/-/blob/master/linux-user/syscall.c#L9792


there's no clone2/clone3 support at all either.

> For emulating 32-bit targets, we have a broken readdir/telldir/seekdir
> implementation in glibc on 64 bit host kernels because we try to use
> d_ino directly, which is 64 bit and does not fit into the long value
> that POSIX requires.  A kernel patch with a new interface has been
> posted which would work around this has been proposed, but it is not
> going anywhere.

> The second issue also affects full-system virtualization if p9fs (not
> sure what the right name is, it's the older pass-through file system) is
> used.  But it's specific to 32 bit, so maybe not that important after
> all.

Yep, 9p, its generally not great POSIX emulation no matter what.

The more modern virtio-fs is a more promising solution for the
future, based on FUSE.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux