Opened 13 years ago

Closed 11 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@…> 13 years ago.
The patch.
switchcards.diff (678 bytes) - added by Mark Buechler <Mark.Buechler@…> 13 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@…> 13 years ago.
Better patch to SwitchCards?().
myth_IOMultiplierV2_r15966.diff (29.1 KB) - added by Mark Buechler <Mark.Buechler@…> 12 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@… 12 years ago.
v4 of the patch for trunk with minor fixes
myth_IOMultiplierV4.1_r19570.diff (29.1 KB) - added by Mark.Buechler@… 12 years ago.
Momentary lapse of reason. Please disregard previous patch.
4242-v1.patch (32.3 KB) - added by danielk 12 years ago.
Reviewed version of patch with some substancial changes.

Download all attachments as: .zip

Change History (22)

Changed 13 years ago by Mark Buechler <Mark.Buechler@…>

The patch.

comment:1 Changed 13 years ago by Mark Buechler <Mark.Buechler@…>

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.

Changed 13 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: switchcards.diff added

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

Changed 13 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: switchcards.2.diff added

Better patch to SwitchCards?().

comment:2 Changed 13 years ago by danielk

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

comment:3 Changed 13 years ago by danielk

(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 Changed 13 years ago by danielk

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?

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

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

comment:5 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

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 Changed 12 years ago by danielk

Status: infoneededassigned

comment:7 Changed 12 years ago by danielk

Type: patchenhancement

comment:8 Changed 12 years ago by danielk

Status: assignedinfoneeded

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

comment:9 Changed 12 years ago by danielk

Resolution: invalid
Status: infoneededclosed

no response from ticket submitter

Changed 12 years ago by Mark.Buechler@…

v4 of the patch for trunk with minor fixes

comment:10 Changed 12 years ago by Mark.Buechler@…

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 Changed 12 years ago by Janne Grunau

Resolution: invalid
Status: closednew

Changed 12 years ago by Mark.Buechler@…

Momentary lapse of reason. Please disregard previous patch.

comment:12 Changed 12 years ago by Mark.Buechler@…

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

  • Mark.

Changed 12 years ago by danielk

Attachment: 4242-v1.patch added

Reviewed version of patch with some substancial changes.

comment:13 Changed 12 years ago by danielk

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 Changed 12 years ago by Dibblah

Status: newinfoneeded_new

comment:15 Changed 11 years ago by danielk

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.