From: eb Date: Mon, 7 May 2007 21:36:54 +0000 (+0000) Subject: Added fusb_sysconfig::default_block_size (<= max_block_size). X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=b06cd32d19dffe3b3fea0abb5a44d8cb57e7dfda;p=debian%2Fgnuradio Added fusb_sysconfig::default_block_size (<= max_block_size). Changed Linux default_block_size to 4KB, and default buffersize to 1MB. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@5253 221aa14e-8319-0410-a670-987f0aec2ac5 --- diff --git a/usrp/host/lib/legacy/fusb.h b/usrp/host/lib/legacy/fusb.h index da1b7c0a..8116ed05 100644 --- a/usrp/host/lib/legacy/fusb.h +++ b/usrp/host/lib/legacy/fusb.h @@ -119,12 +119,17 @@ public: static fusb_devhandle *make_devhandle (usb_dev_handle *udh); /*! - * \brief returns max block size hard limit + * \brief Returns max block size in bytes (hard limit). */ static int max_block_size (); /*! - * \brief returns the default buffer size + * \brief Returns default block size in bytes. + */ + static int default_block_size (); + + /*! + * \brief Returns the default buffer size in bytes. */ static int default_buffer_size (); diff --git a/usrp/host/lib/legacy/fusb_sysconfig_darwin.cc b/usrp/host/lib/legacy/fusb_sysconfig_darwin.cc index f66c298d..54d00843 100644 --- a/usrp/host/lib/legacy/fusb_sysconfig_darwin.cc +++ b/usrp/host/lib/legacy/fusb_sysconfig_darwin.cc @@ -24,7 +24,7 @@ #include static const int MAX_BLOCK_SIZE = 32 * 1024; // hard limit -static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB (was 8 MB) +static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB fusb_devhandle * fusb_sysconfig::make_devhandle (usb_dev_handle *udh) @@ -37,6 +37,11 @@ int fusb_sysconfig::max_block_size () return MAX_BLOCK_SIZE; } +int fusb_sysconfig::default_block_size () +{ + return fusb_sysconfig::max_block_size (); +} + int fusb_sysconfig::default_buffer_size () { return FUSB_BUFFER_SIZE; diff --git a/usrp/host/lib/legacy/fusb_sysconfig_generic.cc b/usrp/host/lib/legacy/fusb_sysconfig_generic.cc index d336cb94..31022c14 100644 --- a/usrp/host/lib/legacy/fusb_sysconfig_generic.cc +++ b/usrp/host/lib/legacy/fusb_sysconfig_generic.cc @@ -24,7 +24,7 @@ #include static const int MAX_BLOCK_SIZE = 16 * 1024; // hard limit -static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB (was 8 MB) +static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB fusb_devhandle * fusb_sysconfig::make_devhandle (usb_dev_handle *udh) @@ -37,6 +37,11 @@ int fusb_sysconfig::max_block_size () return MAX_BLOCK_SIZE; } +int fusb_sysconfig::default_block_size () +{ + return fusb_sysconfig::max_block_size (); +} + int fusb_sysconfig::default_buffer_size () { return FUSB_BUFFER_SIZE; diff --git a/usrp/host/lib/legacy/fusb_sysconfig_linux.cc b/usrp/host/lib/legacy/fusb_sysconfig_linux.cc index 468fa9f8..e5dc1f45 100644 --- a/usrp/host/lib/legacy/fusb_sysconfig_linux.cc +++ b/usrp/host/lib/legacy/fusb_sysconfig_linux.cc @@ -23,8 +23,9 @@ #include #include -static const int MAX_BLOCK_SIZE = 16 * 1024; // hard limit -static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB (was 8 MB) +static const int MAX_BLOCK_SIZE = 16 * 1024; // hard limit +static const int DEFAULT_BLOCK_SIZE = 4 * 1024; // fewer kernel memory problems +static const int FUSB_BUFFER_SIZE = 1 * (1L << 20); // 1MB fusb_devhandle * fusb_sysconfig::make_devhandle (usb_dev_handle *udh) @@ -37,6 +38,11 @@ int fusb_sysconfig::max_block_size () return MAX_BLOCK_SIZE; } +int fusb_sysconfig::default_block_size () +{ + return DEFAULT_BLOCK_SIZE; +} + int fusb_sysconfig::default_buffer_size () { return FUSB_BUFFER_SIZE; diff --git a/usrp/host/lib/legacy/fusb_sysconfig_ra_wb.cc b/usrp/host/lib/legacy/fusb_sysconfig_ra_wb.cc index 68eecedc..c5ea7fff 100644 --- a/usrp/host/lib/legacy/fusb_sysconfig_ra_wb.cc +++ b/usrp/host/lib/legacy/fusb_sysconfig_ra_wb.cc @@ -41,6 +41,11 @@ int fusb_sysconfig::max_block_size () return MAX_BLOCK_SIZE; } +int fusb_sysconfig::default_block_size () +{ + return fusb_sysconfig::max_block_size (); +} + int fusb_sysconfig::default_buffer_size () { return FUSB_BUFFER_SIZE; diff --git a/usrp/host/lib/legacy/fusb_sysconfig_win32.cc b/usrp/host/lib/legacy/fusb_sysconfig_win32.cc index 282e77ac..02a3bf20 100644 --- a/usrp/host/lib/legacy/fusb_sysconfig_win32.cc +++ b/usrp/host/lib/legacy/fusb_sysconfig_win32.cc @@ -24,7 +24,7 @@ #include static const int MAX_BLOCK_SIZE = 64 * 1024; // Windows kernel hard limit -static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB (was 8 MB) +static const int FUSB_BUFFER_SIZE = 2 * (1L << 20); // 2 MB fusb_devhandle * fusb_sysconfig::make_devhandle (usb_dev_handle *udh) @@ -37,6 +37,11 @@ int fusb_sysconfig::max_block_size () return MAX_BLOCK_SIZE; } +int fusb_sysconfig::default_block_size () +{ + return fusb_sysconfig::max_block_size (); +} + int fusb_sysconfig::default_buffer_size () { return FUSB_BUFFER_SIZE; diff --git a/usrp/host/lib/legacy/usrp_basic.cc b/usrp/host/lib/legacy/usrp_basic.cc index 2eef1472..0ac9e052 100644 --- a/usrp/host/lib/legacy/usrp_basic.cc +++ b/usrp/host/lib/legacy/usrp_basic.cc @@ -475,7 +475,7 @@ usrp_basic_rx::usrp_basic_rx (int which_board, int fusb_block_size, int fusb_nbl throw std::out_of_range ("usrp_basic_rx: invalid fusb_nblocks"); if (fusb_block_size == 0) - fusb_block_size = FUSB_BLOCK_SIZE; + fusb_block_size = fusb_sysconfig::default_block_size(); if (fusb_nblocks == 0) fusb_nblocks = std::max (1, FUSB_BUFFER_SIZE / fusb_block_size);