Opened 13 years ago

Closed 13 years ago

#1457 closed enhancement (wontfix)

Change default values for TFW_DEF_BUF_SIZE, TFW_MAX_WRITE_SIZE, and TFW_MIN_WRITE_SIZE

Reported by: ylee@… Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: 0.19
Severity: medium Keywords: IOBOUND ThreadedFileWriter.cpp TFW_DEF_BUF_SIZE
Cc: Ticket locked: no

Description

Currently, the constants TFW_DEF_BUF_SIZE, TFW_MAX_WRITE_SIZE, and TFW_MIN_WRITE_SIZE are defined within ThreadedFileWriter?.cpp as:

TFW_DEF_BUF_SIZE   = 2*1024*1024 (2MB)
TFW_MAX_WRITE_SIZE = TFW_DEF_BUF_SIZE / 4 (512KB)
TFW_MIN_WRITE_SIZE = TFW_DEF_BUF_SIZE / 8 (256KB

These values often prove too small to handle two HDTV recording streams plus a single recording stream, let alone other demands on the storage bandwidth like additional recording streams and mythcommflag, without generating IOBOUND errors.

After extensive testing over several weeks (see http://www.gossamer-threads.com/lists/mythtv/users/183808?search_string=tfw_def_buf_size;#183808 for an in-process discussion thread I started), I have found that changing the values to:

TFW_DEF_BUF_SIZE   = 64*1024*1024 (64MB)
TFW_MAX_WRITE_SIZE = TFW_DEF_BUF_SIZE / 8 (8MB)
TFW_MIN_WRITE_SIZE = TFW_DEF_BUF_SIZE / 256 (256KB; i.e., no change from current)

signficantly increases recording robustness. On my frontend/backend with CIFS-mounted video storage NAS using ext3, the above settings let me do the following, none possible without IOBOUND errors with the default:

  • Record two HDTV streams while watching a third.
  • Record two HDTV streams while commflagging.
  • Record three HDTV streams.
  • Delete a one-hour (~7.5GB) or smaller HDTV program while recording an HDTV stream.

Change History (1)

comment:1 Changed 13 years ago by Isaac Richards

Resolution: wontfix
Status: newclosed

Not going to increase memory usage by 62MB per recorder for everybody.

Note: See TracTickets for help on using tickets.