Skip to content
This repository has been archived by the owner on Sep 30, 2018. It is now read-only.

[linux-rt] and aufs ? #195

Open
oberon-manjaro opened this issue Jun 20, 2016 · 1 comment
Open

[linux-rt] and aufs ? #195

oberon-manjaro opened this issue Jun 20, 2016 · 1 comment

Comments

@oberon-manjaro
Copy link
Member

Trying to find out more about the rt-kernel's problem with adding aufs.
@budimanjojo do you have more information about what exactly is the problem there?
I was just trying to add the aufs patches and when building with default verbosity, build simply stops with error and doesn't give any hints at all.
When building with verbosity =1 it ends with

  if [ "-pg" = "-pg" ]; then if [ kernel/padata.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "kernel/padata.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ kernel/configs.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "kernel/configs.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ kernel/memremap.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "kernel/memremap.o"; fi; fi;
   ld -m elf_x86_64   -r -o kernel/built-in.o kernel/fork.o kernel/exec_domain.o kernel/panic.o kernel/cpu.o kernel/exit.o kernel/softirq.o kernel/resource.o kernel/sysctl.o kernel/sysctl_binary.o kernel/capability.o kernel/ptrace.o kernel/user.o kernel/signal.o kernel/sys.o kernel/kmod.o kernel/workqueue.o kernel/pid.o kernel/task_work.o kernel/extable.o kernel/params.o kernel/kthread.o kernel/sys_ni.o kernel/nsproxy.o kernel/notifier.o kernel/ksysfs.o kernel/cred.o kernel/reboot.o kernel/async.o kernel/range.o kernel/smpboot.o kernel/groups.o kernel/sched/built-in.o kernel/locking/built-in.o kernel/power/built-in.o kernel/printk/built-in.o kernel/irq/built-in.o kernel/rcu/built-in.o kernel/livepatch/built-in.o kernel/freezer.o kernel/profile.o kernel/stacktrace.o kernel/time/built-in.o kernel/futex.o kernel/futex_compat.o kernel/dma.o kernel/smp.o kernel/uid16.o kernel/module.o kernel/kallsyms.o kernel/acct.o kernel/kexec_core.o kernel/kexec.o kernel/compat.o kernel/cgroup.o kernel/cgroup_freezer.o kernel/cgroup_pids.o kernel/cpuset.o kernel/utsname.o kernel/pid_namespace.o kernel/configs.o kernel/stop_machine.o kernel/kprobes.o kernel/hung_task.o kernel/watchdog.o kernel/seccomp.o kernel/relay.o kernel/utsname_sysctl.o kernel/delayacct.o kernel/taskstats.o kernel/tsacct.o kernel/tracepoint.o kernel/latencytop.o kernel/elfcore.o kernel/trace/built-in.o kernel/irq_work.o kernel/bpf/built-in.o kernel/events/built-in.o kernel/user-return-notifier.o kernel/padata.o kernel/crash_dump.o kernel/membarrier.o kernel/memremap.o 
==> ERROR: A failure occurred in build().
    Aborting...
@budimanjojo
Copy link
Contributor

I don't know, but I think it's the patch code is conflicting, RT patch has a lot of adding wait_lock and mutex_lock to files. Unlike any other patch which only add codes into their their own things, RT is adding the code everywhere. If you put the AUFS patch on top, it will build until it reach RT patch, if you put RT patch on top, it will build until it reach AUFS. And if you look at the Makefile output, and find the file which fail to build, it will show you most of the time it is just the patch ++ or -- is different from the file it wants to patch. Like the Nvidia patch situation, RT kernel is modifying schedule.c and add a lot of wait_lock codes to everywhere, so the original code is modified heavily, so that's why there's a commit where I put RT patch on top of everything. Because if I don't, Nvidia patch will fail to build. And when I look at the file where it failed (schedule.c) which I think is used by almost all patches, the diff from the original file to the file after rt patch is so big. That the file is now completely different. So if we want to patch it, we need to manually change the line numbers of each file manually I think.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants