Opened 18 years ago

Closed 17 years ago

#4242 closed enhancement (wontfix)

Make file read/write sizes fine tunable

Reported by: Mark Buechler <Mark.Buechler@…> Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description

Makes file read and write chunk sizes adjustable. This acts upon ThreadedFileWriter for the backend and RingBuffer for the frontend and adjusts the min/max write sizes as well as the increment chunk read and max read sizes. This patch provides for a single numeric setting between 2 and 6 with the default being 5 which provides the same values currently used. I've found success with changing this to 3 or 4.

Attachments (7)

myth_IOMultiplier_r14915.diff (8.6 KB ) - added by Mark Buechler <Mark.Buechler@…> 18 years ago.
The patch.
switchcards.diff (678 bytes ) - added by Mark Buechler <Mark.Buechler@…> 18 years ago.
Pause the player before pausing the recorder during a channel change that switches cards.
switchcards.2.diff (592 bytes ) - added by Mark Buechler <Mark.Buechler@…> 18 years ago.
Better patch to SwitchCards().
myth_IOMultiplierV2_r15966.diff (29.1 KB ) - added by Mark Buechler <Mark.Buechler@…> 18 years ago.
V2 of the patch enabling read/write multiplier per storage group/directory
myth_IOMultiplierV4_r19570.diff (29.3 KB ) - added by Mark.Buechler@… 17 years ago.
v4 of the patch for trunk with minor fixes
myth_IOMultiplierV4.1_r19570.diff (29.1 KB ) - added by Mark.Buechler@… 17 years ago.
Momentary lapse of reason. Please disregard previous patch.
4242-v1.patch (32.3 KB ) - added by danielk 17 years ago.
Reviewed version of patch with some substancial changes.

Download all attachments as: .zip

Change History (22)

by Mark Buechler <Mark.Buechler@…>, 18 years ago

The patch.

comment:1 by Mark Buechler <Mark.Buechler@…>, 18 years ago

This patch brings to light a bug when switching cards the player can be reading so close to the recorder that when the recorder is paused the player is starved until it times out. This patch fixes that issue. There may yet be another such situation when the player exits from LiveTV.

by Mark Buechler <Mark.Buechler@…>, 18 years ago

Attachment: switchcards.diff added

Pause the player before pausing the recorder during a channel change that switches cards.

by Mark Buechler <Mark.Buechler@…>, 18 years ago

Attachment: switchcards.2.diff added

Better patch to SwitchCards().

comment:2 by danielk, 18 years ago

Milestone: unknown0.21
Owner: changed from Isaac Richards to danielk
Status: newassigned

comment:3 by danielk, 18 years ago

(In [15848]) Refs #4242. Pauses NVP when switching cards before shutting things down to avoid having the player starved for data and needing to timeout before MythTV can proceed using patch from Mark Buechler.

comment:4 by danielk, 18 years ago

Milestone: 0.21unknown
Status: assignedinfoneeded

Mark, I like the general idea, but this needs to be a per storage group setting..

Can you update the patch to use a per storage group setting?

by Mark Buechler <Mark.Buechler@…>, 18 years ago

V2 of the patch enabling read/write multiplier per storage group/directory

comment:5 by Mark Buechler <Mark.Buechler@…>, 18 years ago

Added V2 patch. This enables a read/write multiplier per storage group/directory. The storage group editor has been modified to allow more configuration parameters per directory instead of just popping up a simple line edit dialog. Changed max multiplier from 6 to 5 since 6 didn't make much sense.

Tested with LiveTV, recordings and PiP with both streaming and non-streaming.

  • Mark.

comment:6 by danielk, 18 years ago

Status: infoneededassigned

comment:7 by danielk, 18 years ago

Type: patchenhancement

comment:8 by danielk, 17 years ago

Status: assignedinfoneeded

Mark, could you update this to trunk for me.. the patch is unfortunately throwing a lot of rejects.

comment:9 by danielk, 17 years ago

Resolution: invalid
Status: infoneededclosed

no response from ticket submitter

by Mark.Buechler@…, 17 years ago

v4 of the patch for trunk with minor fixes

comment:10 by Mark.Buechler@…, 17 years ago

Added v4 of the patch. This should compile cleanly on trunk. I used r19570. I also fixed a case where storage group paths didn't end in "/".

  • Mark.

comment:11 by Janne Grunau, 17 years ago

Resolution: invalid
Status: closednew

by Mark.Buechler@…, 17 years ago

Momentary lapse of reason. Please disregard previous patch.

comment:12 by Mark.Buechler@…, 17 years ago

Updated to final patch (I hope). The storage group info wasn't properly loading or saving.

  • Mark.

by danielk, 17 years ago

Attachment: 4242-v1.patch added

Reviewed version of patch with some substancial changes.

comment:13 by danielk, 17 years ago

Mark, can you review my version of the patch to make sure I didn't break any intended functionality?

Also can you please make the configuration less opaque. The magic value 2-5 doesn't really give anyone a clue as to what this does. Perhaps use a combobox with actual initial chunk sizes and an explanation in the help text as to when anyone should touch this setting.

comment:14 by Dibblah, 17 years ago

Status: newinfoneeded_new

comment:15 by danielk, 17 years ago

Resolution: wontfix
Status: infoneeded_newclosed

There doesn't appear to be enough interest in this to finish it up...

Note: See TracTickets for help on using tickets.