EXT4 Gets A Nice Batch Of Fixes For Linux 5.8

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quetzalcoatlus
    replied
    There's a pretty serious bug in the block allocator accessing smp processor id in fully preemptible kernels so if you build in fully preemptible mode i suggest not pulling master

    Leave a comment:


  • kloczek
    replied
    Originally posted by Volta View Post
    RCU, RT scheduling, bcache, cgroups, KSM, KVM to name a few.
    Solaris has plugable scheduler since Solaris 8 (~20 years). You can change scheduler without reboot like it is on Linux.
    Things like cgropus never will be implemented because you can limit memory, cpu and other resources using processes, tasks, projects using FSS and other scheduler.
    Cgroups still does not provide even half functionalities of the Solaris.
    For example cgroups on Linux still does not provide full separation of memory stats (over /proc/meminfo you see physical system memory metrics). Cgroups still does not provide separation of kernel messages (dmesg inside cgroup still shows physical system kernel messages).
    Cgrops still does not provide proper separation on network layer and on top cgroup you must have organised bunch of bridges to provide proper/independent communications to for example LXCs. All those things on Solaris have been perfectly working since first day of Solaris 10GA (17 years ago).
    Something like RCU is on the Solaris +10 years (look for UTS).
    Equivalent of the bcache is on Solaris since Solaris 8 (look on cachefs). Currently cachefs is not used at all because now whole caching is done by ZFS ARC (Adaptive Reclaim Cache) which is faaaaar more sophisticated than what bcache provides
    KVM is ported to Solaris. It is possible to use it on Oracle Solaris but most of that type of needs provides kernel zones.
    Regular KVM and Xen are standard part of the OpenSolaris and derivatives like OmniOS. Xen development originally stared on Solaris than people started porting it to Linux
    KSM on Solaris is not needed at all

    Sorry dude what you just wrote says that you really knows nothing about Solaris
    As I wrote Solaris still is ahead of Linux at least 10 if not 15 years.

    Leave a comment:


  • Volta
    replied
    Originally posted by kloczek View Post
    https://docs.oracle.com/cd/E19683-01...-51/index.html
    On the bottom of that page you can find "© 2010, Oracle Corporation and/or its affiliates"
    Windows also has AI/O, but it doesn't even come close to io_uring.

    Features like what?
    RCU, RT scheduling, bcache, cgroups, KSM, KVM to name a few.

    Leave a comment:


  • AndyChow
    replied
    Originally posted by pal666 View Post
    disks can't checksum host memory contents, i.e. they can't catch all errors
    I can't read all responses, so not sure if this was addressed (my apologies if it was). No filesystem can catch host memory errors. You depend on ECC RAM for that. And pray the solar flares aren't that heavy this year (btw, there have been a few big ones this year, which were unusual given the solar cycle). If the bit-flip happens in L3 victim cache, then even with ECC RAM you're out of luck. When the sync happens, that error will be pushed into your storage.

    Leave a comment:


  • kloczek
    replied
    Originally posted by Volta View Post
    A feature Solaris lacks. Ping pong.
    https://docs.oracle.com/cd/E19683-01...-51/index.html
    On the bottom of that page you can find "© 2010, Oracle Corporation and/or its affiliates"

    Fine, but I can give you a lot of other Linux features Solaris doesn't have, so I don't see too much sense in this.
    Features like what?

    Leave a comment:


  • Volta
    replied
    Originally posted by kloczek View Post

    SGI Ultraviolet it is partitioned HW with exactly that extremely low latency interconnect between partitions.
    So again you are pointing on non-SIS example.
    And it doesn't matter in this case, because we were talking what OS kernel sees. Furthermore, you got examples from SAP.

    What has asynchronous IO with paged memory management? Nothing ..
    A feature Solaris lacks. Ping pong.

    Live kernel live patching it is not the same. BTW: Solaris had this functionality long time before it was possible to have that on Linux.
    Fine, but I can give you a lot of other Linux features Solaris doesn't have, so I don't see too much sense in this.

    nvdimm it is completely different story. I'm talking about regular RAM. To preserve RAM content you need to carefully shutdown system and preserve RAM content before new kernel will be downloaded and booted.
    I'll take a look at this.

    Leave a comment:


  • kloczek
    replied
    Originally posted by onlyLinuxLuvUBack View Post
    Just uese any avalaible benchmarks which is possible to use on Linux.

    Leave a comment:


  • onlyLinuxLuvUBack
    replied

    Originally posted by kloczek View Post

    Did you ever try to use kexec?
    Probably not because kexec leaves allocated all data and code segments used by old kernel.
    In other words each restart over kexec gives you less and less memory.
    Did you notice that none of the current Linux distribution is OOTB kexec ready?
    Linux simple works on to small HW boxes and most of the Linux kernel developers do not bother about reboot time .. that is that main cause (not to mention that on developent most of the kernel developers are withing with VMs.
    If you will have one full rack box like M8 you will find that only checking all HW components on POST stage takes +30 min.
    Try to reboot that 8 CPU sockets x86 HW and you will find that reboot because POST takes not to much less ..
    Try to think that 17 years ago when Sun Fire 10K was introduced that box had up to 32 CPU sockets. This is why on development of the Solaris 10 Sun added fast reboot.

    Solaris in case of reboot is completely different because it maintains all data with HW state in separated region and it can pass that to new kernel as parameter.
    On top of that Solaris "reboot -f" (-f -> fast .. which is default) if system is rebooted on the same kernel it shutdown only all processes and restart everything with restarted init which is b*dy fast because it does not go over POST/boot loader.
    Solaris has fast reboot more than 10 years and as because it is default reboot command behaviour you need to specify "reboot -p" to force on reboot to go over POST/bootloader.
    IIRC the same functionality has now FreeBSD as well. Linux still has no something like this because it will require rewrite many parts of the kernel code to keep some data in continuous region which could be preserved between loading different kernels.

    .. +10-17 year and only in that small are. That is actual time window length which Linux kernel still stays behind Solaris kernel.
    There are many other technologies like FMA (Fault Administration Management), PSH (Predictive Self Healing) or RBAC and many more like real trusted system (you can boot in trusted mode and perform all binaries signs versification). On Solaris all distribution binaries are signed (regular Solaris and all OpenSolaris like OmniOS as well) and those signs are stored in ELF sections. If on exec()/execwe() some binary will have sign which key is not in in kernel key ring that binary will be not allowed to start. On Linux you can have something like this but signing is stored on extended attributes which means that you need to enable ext attr on your rootfs and than before reboot you must sign all binaries in those ext attrs because NONE of the Linux distributions can even store in packages like deb or rpm ext attrs. Simple Linux chose wrong method of storing those signs and now only on Android OOTB you have full trusted boot.

    Hello kloczek,

    do you have a test procedure for how to verify zfs is better than ext4 ?


    I would like to try it out.
    Thanks !

    Leave a comment:


  • kloczek
    replied
    Originally posted by Spam View Post
    Did you ever try to use kexec?
    Probably not because kexec leaves allocated all data and code segments used by old kernel.
    In other words each restart over kexec gives you less and less memory.
    Did you notice that none of the current Linux distribution is OOTB kexec ready?
    Linux simple works on to small HW boxes and most of the Linux kernel developers do not bother about reboot time .. that is that main cause (not to mention that on developent most of the kernel developers are withing with VMs.
    If you will have one full rack box like M8 you will find that only checking all HW components on POST stage takes +30 min.
    Try to reboot that 8 CPU sockets x86 HW and you will find that reboot because POST takes not to much less ..
    Try to think that 17 years ago when Sun Fire 10K was introduced that box had up to 32 CPU sockets. This is why on development of the Solaris 10 Sun added fast reboot.

    Solaris in case of reboot is completely different because it maintains all data with HW state in separated region and it can pass that to new kernel as parameter.
    On top of that Solaris "reboot -f" (-f -> fast .. which is default) if system is rebooted on the same kernel it shutdown only all processes and restart everything with restarted init which is b*dy fast because it does not go over POST/boot loader.
    Solaris has fast reboot more than 10 years and as because it is default reboot command behaviour you need to specify "reboot -p" to force on reboot to go over POST/bootloader.
    IIRC the same functionality has now FreeBSD as well. Linux still has no something like this because it will require rewrite many parts of the kernel code to keep some data in continuous region which could be preserved between loading different kernels.

    .. +10-17 year and only in that small are. That is actual time window length which Linux kernel still stays behind Solaris kernel.
    There are many other technologies like FMA (Fault Administration Management), PSH (Predictive Self Healing) or RBAC and many more like real trusted system (you can boot in trusted mode and perform all binaries signs versification). On Solaris all distribution binaries are signed (regular Solaris and all OpenSolaris like OmniOS as well) and those signs are stored in ELF sections. If on exec()/execwe() some binary will have sign which key is not in in kernel key ring that binary will be not allowed to start. On Linux you can have something like this but signing is stored on extended attributes which means that you need to enable ext attr on your rootfs and than before reboot you must sign all binaries in those ext attrs because NONE of the Linux distributions can even store in packages like deb or rpm ext attrs. Simple Linux chose wrong method of storing those signs and now only on Android OOTB you have full trusted boot.

    Leave a comment:


  • S.Pam
    replied

    Leave a comment:

Working...
X