DAHDI-Linux
  1. DAHDI-Linux
  2. DAHLIN-26

[patch] dahdi_dynamic rx buffering, statistics

    Details

    • Type: Bug Bug
    • Status: Open
    • Severity: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: dahdi_dynamic
    • Labels:
      None
    • Mantis ID:
      13206
    • Regression:
      No

      Description

      In current implementation:
      1. If we have more than one TDMoE device, we'll have a slip/skip. 2 TDMoE devices can have phase jitter.
      2. We have no statistics (which is necessary).
      3. ztdynamic can't be a master for zaptel (but why not ?)

                • ADDITIONAL INFORMATION ******

      complimentary to
      http://bugs.digium.com/view.php?id=13205

      I'm sure, It's better to use list with pre-allocated buffers (1 memcpy dahdi_dynamic_receive) instead of fifo I've used (2 memcpy, dahdi_dynamic_receive & __ztdynamic_run).
      Or even more, it' better to change dynamic/eth/loc , and use the same idea as skbuff (will have only 1 memcpy on rx, and 1 memcpy on tx

      {in current version, 2 memcpy on tx}

      )

      1. dahdi_dynamic.c.#2.patch
        7 kB
        Pavel Selivanov
      2. dahdi_dynamic.c.patch
        13 kB
        Pavel Selivanov
      3. dahdi_dynamic.c.printk.patch
        6 kB
        Pavel Selivanov
      4. kernel.h.patch
        0.5 kB
        Pavel Selivanov
      No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

        Hide
        Shaun Ruffell added a comment -

        Just FYI, I haven't looked closely at the new patch but it didn't compile. At least against 3.2.27 (I haven't tried any other releases).

        Also, when I run it though the kernel checkpatch.pl script, I get the following summary:
        total: 45 errors, 34 warnings, 425 lines checked

        Care to fix that up?

        Show
        Shaun Ruffell added a comment - Just FYI, I haven't looked closely at the new patch but it didn't compile. At least against 3.2.27 (I haven't tried any other releases). Also, when I run it though the kernel checkpatch.pl script, I get the following summary: total: 45 errors, 34 warnings, 425 lines checked Care to fix that up?
        Hide
        Pavel Selivanov added a comment -

        Just FYI, I haven't looked closely at the new patch but it didn't compile. At least against 3.2.27 (I haven't tried any other releases).

        Also, when I run it though the kernel checkpatch.pl script, I get the following summary:
        total: 45 errors, 34 warnings, 425 lines checked

        compile fine on 3.2.9.
        Ooops, I'll check with checkpatch.
        Please, give me 1 day, I'll clean it up.

        Show
        Pavel Selivanov added a comment - Just FYI, I haven't looked closely at the new patch but it didn't compile. At least against 3.2.27 (I haven't tried any other releases). Also, when I run it though the kernel checkpatch.pl script, I get the following summary: total: 45 errors, 34 warnings, 425 lines checked compile fine on 3.2.9. Ooops, I'll check with checkpatch. Please, give me 1 day, I'll clean it up.
        Hide
        Shaun Ruffell added a comment -

        Looking into the build failures I saw, it appears that there are changes to include/dahdi/kernel.h that are needed as well?

        make -C drivers/dahdi/firmware firmware-loaders
        make[1]: Entering directory `/home/sruffell/dahdi-linux/drivers/dahdi/firmware'
        make[1]: Leaving directory `/home/sruffell/dahdi-linux/drivers/dahdi/firmware'
        make -C /lib/modules/3.2.27/build SUBDIRS=/home/sruffell/dahdi-linux/drivers/dahdi DAHDI_INCLUDE=/home/sruffell/dahdi-linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes
        make[1]: Entering directory `/home/sruffell/linux-3.2.27'
          CC [M]  /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.o
        /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c: In function ‘dahdi_dynamic_process_rxfifo’:
        /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: error: ‘struct dahdi_dynamic’ has no member named ‘rxfifo_lock’
        /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: error: ‘struct dahdi_dynamic’ has no member named ‘rxfifo’
        /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: warning: type defaults to ‘int’ in declaration of ‘__tmp’
        /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: error: ‘struct dahdi_dynamic’ has no member named ‘rxfifo’
        ...
        
        Show
        Shaun Ruffell added a comment - Looking into the build failures I saw, it appears that there are changes to include/dahdi/kernel.h that are needed as well? make -C drivers/dahdi/firmware firmware-loaders make[1]: Entering directory `/home/sruffell/dahdi-linux/drivers/dahdi/firmware' make[1]: Leaving directory `/home/sruffell/dahdi-linux/drivers/dahdi/firmware' make -C /lib/modules/3.2.27/build SUBDIRS=/home/sruffell/dahdi-linux/drivers/dahdi DAHDI_INCLUDE=/home/sruffell/dahdi-linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes make[1]: Entering directory `/home/sruffell/linux-3.2.27' CC [M] /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.o /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c: In function ‘dahdi_dynamic_process_rxfifo’: /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: error: ‘struct dahdi_dynamic’ has no member named ‘rxfifo_lock’ /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: error: ‘struct dahdi_dynamic’ has no member named ‘rxfifo’ /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: warning: type defaults to ‘int’ in declaration of ‘__tmp’ /home/sruffell/dahdi-linux/drivers/dahdi/dahdi_dynamic.c:253: error: ‘struct dahdi_dynamic’ has no member named ‘rxfifo’ ...
        Hide
        Pavel Selivanov added a comment -

        I've attached kernel.h patch.

        Show
        Pavel Selivanov added a comment - I've attached kernel.h patch.
        Hide
        Pavel Selivanov added a comment -

        BTW: you can download a bundle DAHDI 2.6.1 with patches.
        http://parabel.ru/d/dahdi_2.6.1%2B2.6.1-parabel_2.6.2.tar.bz2

        Show
        Pavel Selivanov added a comment - BTW: you can download a bundle DAHDI 2.6.1 with patches. http://parabel.ru/d/dahdi_2.6.1%2B2.6.1-parabel_2.6.2.tar.bz2

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: