summary refs log tree commit diff stats
path: root/results/classifier/118/all/1926521
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/all/1926521')
-rw-r--r--results/classifier/118/all/1926521133
1 files changed, 133 insertions, 0 deletions
diff --git a/results/classifier/118/all/1926521 b/results/classifier/118/all/1926521
new file mode 100644
index 000000000..22c8823d4
--- /dev/null
+++ b/results/classifier/118/all/1926521
@@ -0,0 +1,133 @@
+user-level: 0.944
+semantic: 0.922
+virtual: 0.917
+graphic: 0.917
+mistranslation: 0.915
+peripherals: 0.911
+risc-v: 0.910
+performance: 0.908
+hypervisor: 0.907
+permissions: 0.891
+device: 0.888
+assembly: 0.886
+register: 0.882
+architecture: 0.880
+ppc: 0.880
+socket: 0.876
+TCG: 0.875
+arm: 0.873
+PID: 0.873
+vnc: 0.866
+VMM: 0.860
+boot: 0.855
+debug: 0.854
+files: 0.854
+x86: 0.841
+network: 0.830
+KVM: 0.809
+kernel: 0.798
+i386: 0.577
+
+QEMU-user ignores MADV_DONTNEED
+
+There is comment int the code "This is a hint, so ignoring and returning success is ok"
+https://github.com/qemu/qemu/blob/b1cffefa1b163bce9aebc3416f562c1d3886eeaa/linux-user/syscall.c#L11941
+
+But it seems incorrect with the current state of Linux
+
+"man madvise" or https://man7.org/linux/man-pages/man2/madvise.2.html
+says the following:
+>>  These advice values do not influence the semantics
+>>       of the application (except in the case of MADV_DONTNEED)
+
+>> After a successful MADV_DONTNEED operation, the semantics
+>> of memory access in the specified region are changed:
+>> subsequent accesses of pages in the range will succeed,
+>> but will result in either repopulating the memory contents
+>> from the up-to-date contents of the underlying mapped file
+>> (for shared file mappings, shared anonymous mappings, and
+>> shmem-based techniques such as System V shared memory
+>> segments) or zero-fill-on-demand pages for anonymous
+>> private mappings.
+
+Some applications use this behavior clear memory and it
+would be nice to be able to run them on QEMU without
+workarounds.
+
+Reproducer on "Debian 5.10.24 x86_64 GNU/Linux" as a host.
+
+
+```
+#include "assert.h"
+#include "stdio.h"
+#include <sys/mman.h>
+#include <errno.h>
+
+int main() {
+  char *P = (char *)mmap(0, 4096, PROT_READ | PROT_WRITE,
+                         MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  assert(P);
+  *P = 'A';
+  while (madvise(P, 4096, MADV_DONTNEED) == -1 && errno == EAGAIN) {
+  }
+  assert(*P == 0);
+
+  printf("OK\n");
+}
+
+/*
+gcc /tmp/madvice.c -o /tmp/madvice
+
+qemu-x86_64 /tmp/madvice
+madvice: /tmp/madvice.c:13: main: Assertion `*P == 0' failed.
+qemu: uncaught target signal 6 (Aborted) - core dumped
+Aborted
+
+/tmp/madvice
+OK
+
+
+*/
+
+```
+
+We had a tentative patch in the past:
+
+[PATCH v3] linux-user: add support for MADV_DONTNEED
+https://<email address hidden>/
+
+The QEMU project is currently moving its bug tracking to another system.
+For this we need to know which bugs are still valid and which could be
+closed already. Thus we are setting the bug state to "Incomplete" now.
+
+If the bug has already been fixed in the latest upstream version of QEMU,
+then please close this ticket as "Fix released".
+
+If it is not fixed yet and you think that this bug report here is still
+valid, then you have two options:
+
+1) If you already have an account on gitlab.com, please open a new ticket
+for this problem in our new tracker here:
+
+    https://gitlab.com/qemu-project/qemu/-/issues
+
+and then close this ticket here on Launchpad (or let it expire auto-
+matically after 60 days). Please mention the URL of this bug ticket on
+Launchpad in the new ticket on GitLab.
+
+2) If you don't have an account on gitlab.com and don't intend to get
+one, but still would like to keep this ticket opened, then please switch
+the state back to "New" or "Confirmed" within the next 60 days (other-
+wise it will get closed as "Expired"). We will then eventually migrate
+the ticket automatically to the new system (but you won't be the reporter
+of the bug in the new system and thus you won't get notified on changes
+anymore).
+
+Thank you and sorry for the inconvenience.
+
+
+New issue on GitLab https://gitlab.com/qemu-project/qemu/-/issues/326
+
+Ok, I'm closing this one on Launchpad now. Thanks for moving it to GitLab, Vitaly!
+
+