How much memory allocated per UART by uart_register_driver()?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Roughly how much kernel memory is allocated for a UART by
uart_register_driver() for UARTS that never get instantiated by
uart_add_one_port()?

A few KB, tens of KB, hundreds of KB?

Many of the serial-core drivers have a configurable "number of uarts"
value that goes into a 'uart_driver' struct:

    static struct uart_driver foo_uart_driver =
    {
      .owner        = THIS_MODULE,
      .driver_name  = DRV_NAME,
      .dev_name     = "ttyFoo",
      .nr           = CONFIG_SERIAL_FOO_NR_UARTS,
    };

which is then passed to uart_register_driver:

    rc = uart_register_driver(&foo_uart_driver);

which then allocates stuff as approprite depending on the .nr value.

I'm reading through the tty and serial-core code trying to figure out
how much memory is allocated per uart by that call, but I'm not at all
confident I've found all (or even most) of it.

I'm considering setting .nr to 256 in order to handle large
configurations without burdening the user with building the drivier,
installing it, loading it, searching through the syslog for the
failures messages, troubleshooting the failure, changing
CONFIG_SERIAL_FOO_NR_UARTS, and repeating.

But if that's going to allocate huge amounts of kernel memory that
don't get used in the common case where there are only 4 or 8 UARTs it
may be a bad idea...

-- 
Grant Edwards               grant.b.edwards        Yow! I am NOT a nut....
                                  at               
                              gmail.com            

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux