Announcement

Collapse
No announcement yet.

Mesa Looks At Switching To Jemalloc For Faster Performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
    DrYak
    Senior Member

  • DrYak
    replied
    Originally posted by schmidtbag View Post
    do you really think the modern kernel is used as-is on routers? Because it isn't - it's heavily modified.
    Where "heavily modified" is translated as :
    - uses a couple of binary proprietary only driver for a few key component (usually WLAN and/or DSL modem or DOCSIS cable modem)
    - uses a static platform definition on most router (they don't rely on a standard device discovery scheme, unlike x86 hardware), though these tend to get modularized over time and start using some form of proper device tree recognition. (e.g.: Most Raspberry Pi models are now supported by the latest mainstream Linux Kernel 4.9)

    The rest is just plain vanilla kernel.
    (Including file system used on internal flash (e.g.: jffs2) or on external USB flash (FAT32), including the networking and filtering stack, etc.)
    (but it's also configured with a lot of useless stuff disabled from the kernel)

    The only reason why you cannot currently compile kernel 4.9 on any random router, is that the kernel will fail to understand what is available beyond the CPU on which it is running (what other devices are present on the SoC or elsewhere in the PCB ?) and that the non-ethernet interface will probably lack any open-source drivers.
    At least Linaro is helping a lot for the first part.
    Some are also helping the later part (Atheros and Intel hardware tend to have opensource drivers. Some broadcom hardware is supported by "mac80211" driver) and given that lots of router actually use a small form factor card for WLAN (e.g.: a miniPCIe port holding the WiFi card) you might actually end-up being able to install the latest vanilla kernel on your router.

    Leave a comment:

  • raster
    Senior Member

  • raster
    replied
    Originally posted by pal666 View Post
    i said storage, you replied with ram
    ok. then rpi3 has 0 bytes storage. provide your own sd card extra as big or small as you like. mesa is used on fairly small systems with small amounts of storage. it's generally the RAM that is the biggest limitation (routers generally excepted).

    Originally posted by pal666 View Post
    i
    correct question is why the fuck whine about jemalloc dependency, considering

    $ rpm -q --qf '%{SIZE} %{NAME}\n' mesa-dri-drivers.x86_64 llvm-libs.x86_64 jemalloc
    38501303 mesa-dri-drivers
    43403008 llvm-libs
    604751 jemalloc
    well you don't need to build ALL drivers into mesa... it doesn't have to be that big. not when you only have a single gpu to support. yeah llvm is needed and that's also not small. it really doesn't much matter. if it speeds up shader compiling by 10% its almost definitely worth it.

    Leave a comment:

  • schmidtbag
    Senior Member

  • schmidtbag
    replied
    Originally posted by pal666 View Post
    it is
    I don't think you know what "irrational" means. But y'know what is irrational? Your arrogance.
    kernel is used on routers with few megabytes of storage. mesa is used on desktops with few terabytes or many gigabytes of storage
    Irrelevant point - do you really think the modern kernel is used as-is on routers? Because it isn't - it's heavily modified.

    Leave a comment:

  • pal666
    Senior Member

  • pal666
    replied
    Originally posted by bridgman View Post
    Isn't mesa being used on raspberry pi and similar systems as well (the ones Eric A is working on) ?
    rpi falls in the range of many gigabytes of storage(technically you could buy sdcard with small nubmer of gigabytes, but it makes zero sense)
    scaled to jemalloc, linus should be worried of increasing kernel size by hundreds or even dozens of bytes. he has to stop accepting patches to make bloatphobes happy

    Leave a comment:

  • pal666
    Senior Member

  • pal666
    replied
    Originally posted by raster View Post
    Raspberry Pi with 1GB of RAM ... or less. 512MB.
    i said storage, you replied with ram
    Originally posted by raster View Post
    Why should mesa NOt be used
    correct question is why the fuck whine about jemalloc dependency, considering

    $ rpm -q --qf '%{SIZE} %{NAME}\n' mesa-dri-drivers.x86_64 llvm-libs.x86_64 jemalloc
    38501303 mesa-dri-drivers
    43403008 llvm-libs
    604751 jemalloc

    Leave a comment:


  • dungeon
    replied
    Originally posted by bridgman View Post
    Isn't mesa being used on raspberry pi and similar systems as well (the ones Eric A is working on) ?
    Used but experimentaly, Raspabian ship mesa driver but is disabled by default... maybe because it is Pi2+, not for Pi1 or Pi Zero (those are low mem anyway)

    Leave a comment:

  • raster
    Senior Member

  • raster
    replied
    Originally posted by pal666 View Post
    it iskernel is used on routers with few megabytes of storage. mesa is used on desktops with few terabytes or many gigabytes of storage
    Raspberry Pi with 1GB of RAM ... or less. 512MB. In fact many devices like smart watches, and low end smart phones ship with something like 512MB or perhaps even less. Why should mesa NOt be used ... and instead a proprietary binary be required. Mesa has the etnaviv driver for example for vivante GPUs with can ship on SoC's with only a few hundred MB or RAM or even under 100. The world of 3D GFX is more than just hulking huge workstations with gigabytes of RAM.

    Leave a comment:

  • bridgman
    AMD Linux

  • bridgman
    replied
    Isn't mesa being used on raspberry pi and similar systems as well (the ones Eric A is working on) ?

    Leave a comment:

  • pal666
    Senior Member

  • pal666
    replied
    Originally posted by schmidtbag View Post
    It's not an irrational fear...
    it is
    Originally posted by schmidtbag View Post
    Linus himself feels uncomfortable when the kernel gets bigger by a few hundred kilobytes. Mesa is miniscule in comparison
    kernel is used on routers with few megabytes of storage. mesa is used on desktops with few terabytes or many gigabytes of storage

    Leave a comment:

  • sdack
    Senior Member

  • sdack
    replied
    Originally posted by cj.wijtmans View Post
    To be honest though they could implement their own memory management pool and have the same gains if not more than using jemalloc.
    I thought the same, but when I consider they're compiling shader code then they won't have much control nor information over the memory demand, because this will depend largely on the code they're going to compile. So the allocator needs to scale, but doesn't need diagnostic features, because of the unknown factor. I don't think anyone will want to tweak the allocator for some piece of shader code, when in the end the compiled shader ends up in the cache anyway.

    Leave a comment:

Working...
X