Mailing List Archive

Testers Wanted for New, ON-Deman Input Feature
The "Schedule as Group" feature added last year greatly improved the
scheduling performance of multirec configurations. Unfortunately, it
required the number of simultaneous recordings to be set high enough
to handle every recording load. If it was set too low, recordings
would be missed. I now have a change ready to address that
limitation.

Instead of missing recordings, MythTV will now automatically add
multirec inputs to handle the load. However, this change adds new
locking creates the possibility of new deadlocks, especially when the
added inputs are on slave backends. Consequently, I'd like for this
change to get some wider testing before it goes into master.

If you're interested and able to help out on the testing, please
checkout the devel/scheduler branch and give it a try. Please post
any feedback you have here. If all goes well, I'll commit to master
in a week or two.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:

> The "Schedule as Group" feature added last year greatly improved the
> scheduling performance of multirec configurations. Unfortunately, it
> required the number of simultaneous recordings to be set high enough
> to handle every recording load. If it was set too low, recordings
> would be missed. I now have a change ready to address that
> limitation.
>
> Instead of missing recordings, MythTV will now automatically add
> multirec inputs to handle the load. However, this change adds new
> locking creates the possibility of new deadlocks, especially when the
> added inputs are on slave backends. Consequently, I'd like for this
> change to get some wider testing before it goes into master.
>
> If you're interested and able to help out on the testing, please
> checkout the devel/scheduler branch and give it a try. Please post
> any feedback you have here. If all goes well, I'll commit to master
> in a week or two.
>
> David
>
>
Hi David. Sorry I didn't get back with you sooner. I will take a look at
this, and give it a try.

John
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Sun, Dec 31, 2017 at 08:37:38PM +0000, John P Poet wrote:
> On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:
>
> > The "Schedule as Group" feature added last year greatly improved the
> > scheduling performance of multirec configurations. Unfortunately, it
> > required the number of simultaneous recordings to be set high enough
> > to handle every recording load. If it was set too low, recordings
> > would be missed. I now have a change ready to address that
> > limitation.
> >
> > Instead of missing recordings, MythTV will now automatically add
> > multirec inputs to handle the load. However, this change adds new
> > locking creates the possibility of new deadlocks, especially when the
> > added inputs are on slave backends. Consequently, I'd like for this
> > change to get some wider testing before it goes into master.
> >
> > If you're interested and able to help out on the testing, please
> > checkout the devel/scheduler branch and give it a try. Please post
> > any feedback you have here. If all goes well, I'll commit to master
> > in a week or two.
> >
> > David
> >
> >
> Hi David. Sorry I didn't get back with you sooner. I will take a look at
> this, and give it a try.

Do I have any other takers on this?

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 08/01/18 16:51, David Engel wrote:
> On Sun, Dec 31, 2017 at 08:37:38PM +0000, John P Poet wrote:
>> On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:
>>
>>> The "Schedule as Group" feature added last year greatly improved the
>>> scheduling performance of multirec configurations. Unfortunately, it
>>> required the number of simultaneous recordings to be set high enough
>>> to handle every recording load. If it was set too low, recordings
>>> would be missed. I now have a change ready to address that
>>> limitation.
>>>
>>> Instead of missing recordings, MythTV will now automatically add
>>> multirec inputs to handle the load. However, this change adds new
>>> locking creates the possibility of new deadlocks, especially when the
>>> added inputs are on slave backends. Consequently, I'd like for this
>>> change to get some wider testing before it goes into master.
>>>
>>> If you're interested and able to help out on the testing, please
>>> checkout the devel/scheduler branch and give it a try. Please post
>>> any feedback you have here. If all goes well, I'll commit to master
>>> in a week or two.
>>>
>>> David
>>>
>>>
>> Hi David. Sorry I didn't get back with you sooner. I will take a look at
>> this, and give it a try.
> Do I have any other takers on this?
>
> David

Yes, I will be testing this over the next week or so.  I have UK Freesat
and Freeview with both PCIe and network tuners.


Mike

_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Mon, Jan 08, 2018 at 06:57:57PM +0000, Mike Bibbings wrote:
> On 08/01/18 16:51, David Engel wrote:
> > On Sun, Dec 31, 2017 at 08:37:38PM +0000, John P Poet wrote:
> > > On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:
> > >
> > > > The "Schedule as Group" feature added last year greatly improved the
> > > > scheduling performance of multirec configurations. Unfortunately, it
> > > > required the number of simultaneous recordings to be set high enough
> > > > to handle every recording load. If it was set too low, recordings
> > > > would be missed. I now have a change ready to address that
> > > > limitation.
> > > >
> > > > Instead of missing recordings, MythTV will now automatically add
> > > > multirec inputs to handle the load. However, this change adds new
> > > > locking creates the possibility of new deadlocks, especially when the
> > > > added inputs are on slave backends. Consequently, I'd like for this
> > > > change to get some wider testing before it goes into master.
> > > >
> > > > If you're interested and able to help out on the testing, please
> > > > checkout the devel/scheduler branch and give it a try. Please post
> > > > any feedback you have here. If all goes well, I'll commit to master
> > > > in a week or two.
> > > >
> > > > David
> > > >
> > > >
> > > Hi David. Sorry I didn't get back with you sooner. I will take a look at
> > > this, and give it a try.
> > Do I have any other takers on this?
> >
> > David
>
> Yes, I will be testing this over the next week or so.? I have UK Freesat and
> Freeview with both PCIe and network tuners.

Alright. Thanks.

Wow, I just noticed noticed my stupid typos in the title. :(

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 9 January 2018 3:21:40 am David Engel <david@istwok.net> wrote:

> On Sun, Dec 31, 2017 at 08:37:38PM +0000, John P Poet wrote:
>> On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:
>>
>> > The "Schedule as Group" feature added last year greatly improved the
>> > scheduling performance of multirec configurations. Unfortunately, it
>> > required the number of simultaneous recordings to be set high enough
>> > to handle every recording load. If it was set too low, recordings
>> > would be missed. I now have a change ready to address that
>> > limitation.
>> >
>> > Instead of missing recordings, MythTV will now automatically add
>> > multirec inputs to handle the load. However, this change adds new
>> > locking creates the possibility of new deadlocks, especially when the
>> > added inputs are on slave backends. Consequently, I'd like for this
>> > change to get some wider testing before it goes into master.
>> >
>> > If you're interested and able to help out on the testing, please
>> > checkout the devel/scheduler branch and give it a try. Please post
>> > any feedback you have here. If all goes well, I'll commit to master
>> > in a week or two.
>> >
>> > David
>> >
>> >
>> Hi David. Sorry I didn't get back with you sooner. I will take a look at
>> this, and give it a try.
>
> Do I have any other takers on this?
>
> David

I should be able to test. Are there limitations on the types of tuners this
will work with?


_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Tue, Jan 09, 2018 at 12:32:42PM +0000, Mark Perkins wrote:
> On 9 January 2018 3:21:40 am David Engel <david@istwok.net> wrote:
>
> > On Sun, Dec 31, 2017 at 08:37:38PM +0000, John P Poet wrote:
> >> On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:
> >>
> >> > The "Schedule as Group" feature added last year greatly improved the
> >> > scheduling performance of multirec configurations. Unfortunately, it
> >> > required the number of simultaneous recordings to be set high enough
> >> > to handle every recording load. If it was set too low, recordings
> >> > would be missed. I now have a change ready to address that
> >> > limitation.
> >> >
> >> > Instead of missing recordings, MythTV will now automatically add
> >> > multirec inputs to handle the load. However, this change adds new
> >> > locking creates the possibility of new deadlocks, especially when the
> >> > added inputs are on slave backends. Consequently, I'd like for this
> >> > change to get some wider testing before it goes into master.
> >> >
> >> > If you're interested and able to help out on the testing, please
> >> > checkout the devel/scheduler branch and give it a try. Please post
> >> > any feedback you have here. If all goes well, I'll commit to master
> >> > in a week or two.
> >> >
> >> > David
> >> >
> >> >
> >> Hi David. Sorry I didn't get back with you sooner. I will take a look at
> >> this, and give it a try.
> >
> > Do I have any other takers on this?
> >
> > David
>
> I should be able to test. Are there limitations on the types of tuners this
> will work with?

It works with anything that supports multirec. That should be just
about everything except V4L and FIREWIRE.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 01/08/2018 10:51 AM, David Engel wrote:
> On Sun, Dec 31, 2017 at 08:37:38PM +0000, John P Poet wrote:
>> On Tue, Dec 26, 2017 at 9:39 AM David Engel <david@istwok.net> wrote:
>>
>>> The "Schedule as Group" feature added last year greatly improved the
>>> scheduling performance of multirec configurations. Unfortunately, it
>>> required the number of simultaneous recordings to be set high enough
>>> to handle every recording load. If it was set too low, recordings
>>> would be missed. I now have a change ready to address that
>>> limitation.
>>>
>>> Instead of missing recordings, MythTV will now automatically add
>>> multirec inputs to handle the load. However, this change adds new
>>> locking creates the possibility of new deadlocks, especially when the
>>> added inputs are on slave backends. Consequently, I'd like for this
>>> change to get some wider testing before it goes into master.
>>>
>>> If you're interested and able to help out on the testing, please
>>> checkout the devel/scheduler branch and give it a try. Please post
>>> any feedback you have here. If all goes well, I'll commit to master
>>> in a week or two.
>>>
>>> David
>>>
>>>
>> Hi David. Sorry I didn't get back with you sooner. I will take a look at
>> this, and give it a try.
>
> Do I have any other takers on this?
>
> David
>

I'm in. Just got my test host's systemd setup so the backend can be started
as a master or as a slave to my production host. I've only got one channel
eligible for multirec right now, but multirec works on master. Switching to
the devel/scheduler branch now.

--
Bill
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 01/09/2018 10:41 AM, Bill Meek wrote:
> On 01/08/2018 10:51 AM, David Engel wrote:

...

>> Do I have any other takers on this?
>>
>> David
>>
>
> I'm in. Just got my test host's systemd setup so the backend can be started
> as a master or as a slave to my production host. I've only got one channel
> eligible for multirec right now, but multirec works on master. Switching to
> the devel/scheduler branch now.

Well, this didn't last long. My production backend is still on Ubuntu 14.04
and Qt 5.2.1. This branch builds on 17.10, but on 14.04 fails with:

cd mythbackend/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
/home/bill/source/mythtv/mythtv/programs/mythbackend/mythbackend.pro QMAKE=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile ) && make -f
Makefile
make[2]: Entering directory `/home/bill/source/mythtv/mythtv/programs/mythbackend'
ccache g++ -c -m64 -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -march=core-avx2 -DNDEBUG -fomit-frame-pointer -fPIC
-DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -msse -pthread -g -Wall -Wextra -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
-fvisibility-inlines-hidden -Wmissing-declarations -Wno-switch -Woverloaded-virtual -funit-at-a-time -isystem
../../external/libmythdvdnav/dvdnav -isystem ../../external/libmythdvdnav/dvdread -D_REENTRANT -std=c++0x -fPIE -DMMX -Dusing_libcec
-D_GNU_SOURCE -DUSING_OSS -DUSING_DVB -DUSING_LIBDNS_SD -DQT_WIDGETS_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB
-DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/libxml2 -I/usr/include/X11 -I../.. -I../../libs
-I../../libs/libmyth -I../../libs/libmyth/audio -I../../libs/libmythtv -I../../external/FFmpeg -I../../libs/libmythupnp -I../../libs/libmythui
-I../../libs/libmythmetadata -I../../libs/libmythlivemedia -I../../libs/libmythbase -I../../external/libmythbluray/src
-I../../external/libmythsoundtouch -I../../external/libudfread -I../../external/libsamplerate -I../../libs/libmythtv/mpeg
-I../../libs/libmythtv/vbitext -I../../libs/libmythservicecontracts -I../../libs/libmythprotoserver -I/usr/include/qt5
-I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtScript -I/usr/include/qt5/QtSql -I/usr/include/qt5/QtXml -I/usr/include/qt5/QtNetwork
-I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Imoc -o obj/main_helpers.o main_helpers.cpp
main_helpers.cpp: In function ‘bool setupTVs(bool, bool&)’:
main_helpers.cpp:156:36: error: invalid use of qualified-name ‘TVRec::inputsLock’
QWriteLocker(&TVRec::inputsLock);
^
make[2]: *** [obj/main_helpers.o] Error 1
make[2]: Leaving directory `/home/bill/source/mythtv/mythtv/programs/mythbackend'
make[1]: *** [sub-mythbackend-make_first] Error 2
make[1]: Leaving directory `/home/bill/source/mythtv/mythtv/programs'
make: *** [programs] Error 2

And I've not been able to solve the above. Did a distclean before the above.
I'll switch back to master but would be happy to test any suggestions to get
past the above.

--
Bill
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Tue, Jan 09, 2018 at 03:18:23PM -0600, Bill Meek wrote:
> On 01/09/2018 10:41 AM, Bill Meek wrote:
> > On 01/08/2018 10:51 AM, David Engel wrote:
>
> ...
>
> > > Do I have any other takers on this?
> > >
> > > David
> > >
> >
> > I'm in. Just got my test host's systemd setup so the backend can be started
> > as a master or as a slave to my production host. I've only got one channel
> > eligible for multirec right now, but multirec works on master. Switching to
> > the devel/scheduler branch now.
>
> Well, this didn't last long. My production backend is still on Ubuntu 14.04
> and Qt 5.2.1. This branch builds on 17.10, but on 14.04 fails with:
>
> cd mythbackend/ && ( test -e Makefile ||
> /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
> /home/bill/source/mythtv/mythtv/programs/mythbackend/mythbackend.pro
> QMAKE=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile ) && make -f
> Makefile
> make[2]: Entering directory `/home/bill/source/mythtv/mythtv/programs/mythbackend'
> ccache g++ -c -m64 -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC
> -march=core-avx2 -DNDEBUG -fomit-frame-pointer -fPIC
> -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -msse -pthread -g -Wall -Wextra
> -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
> -fvisibility-inlines-hidden -Wmissing-declarations -Wno-switch
> -Woverloaded-virtual -funit-at-a-time -isystem
> ../../external/libmythdvdnav/dvdnav -isystem
> ../../external/libmythdvdnav/dvdread -D_REENTRANT -std=c++0x -fPIE -DMMX
> -Dusing_libcec -D_GNU_SOURCE -DUSING_OSS -DUSING_DVB -DUSING_LIBDNS_SD
> -DQT_WIDGETS_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_NETWORK_LIB
> -DQT_GUI_LIB -DQT_CORE_LIB
> -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I.
> -I/usr/include/libxml2 -I/usr/include/X11 -I../.. -I../../libs
> -I../../libs/libmyth -I../../libs/libmyth/audio -I../../libs/libmythtv
> -I../../external/FFmpeg -I../../libs/libmythupnp -I../../libs/libmythui
> -I../../libs/libmythmetadata -I../../libs/libmythlivemedia
> -I../../libs/libmythbase -I../../external/libmythbluray/src
> -I../../external/libmythsoundtouch -I../../external/libudfread
> -I../../external/libsamplerate -I../../libs/libmythtv/mpeg
> -I../../libs/libmythtv/vbitext -I../../libs/libmythservicecontracts
> -I../../libs/libmythprotoserver -I/usr/include/qt5
> -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtScript
> -I/usr/include/qt5/QtSql -I/usr/include/qt5/QtXml
> -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui
> -I/usr/include/qt5/QtCore -Imoc -o obj/main_helpers.o main_helpers.cpp
> main_helpers.cpp: In function ‘bool setupTVs(bool, bool&)’:
> main_helpers.cpp:156:36: error: invalid use of qualified-name ‘TVRec::inputsLock’
> QWriteLocker(&TVRec::inputsLock);
> ^
> make[2]: *** [obj/main_helpers.o] Error 1
> make[2]: Leaving directory `/home/bill/source/mythtv/mythtv/programs/mythbackend'
> make[1]: *** [sub-mythbackend-make_first] Error 2
> make[1]: Leaving directory `/home/bill/source/mythtv/mythtv/programs'
> make: *** [programs] Error 2
>
> And I've not been able to solve the above. Did a distclean before the above.
> I'll switch back to master but would be happy to test any suggestions to get
> past the above.

I don't know why that error is occurring. Is that the only one you're
getting? If so, could you try replaceing the QWriteLocker with calls
to lockForWrite() and unlock()?

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 01/09/2018 04:17 PM, David Engel wrote:
> On Tue, Jan 09, 2018 at 03:18:23PM -0600, Bill Meek wrote:
>> On 01/09/2018 10:41 AM, Bill Meek wrote:
>>> On 01/08/2018 10:51 AM, David Engel wrote:
>>
>> ...
>>
>>>> Do I have any other takers on this?
>>>>
>>>> David
>>>>
>>>
>>> I'm in. Just got my test host's systemd setup so the backend can be started
>>> as a master or as a slave to my production host. I've only got one channel
>>> eligible for multirec right now, but multirec works on master. Switching to
>>> the devel/scheduler branch now.
>>
>> Well, this didn't last long. My production backend is still on Ubuntu 14.04
>> and Qt 5.2.1. This branch builds on 17.10, but on 14.04 fails with:

>>...

>> -I/usr/include/qt5/QtCore -Imoc -o obj/main_helpers.o main_helpers.cpp
>> main_helpers.cpp: In function ‘bool setupTVs(bool, bool&)’:
>> main_helpers.cpp:156:36: error: invalid use of qualified-name ‘TVRec::inputsLock’
>> QWriteLocker(&TVRec::inputsLock);
>> ^
>> make[2]: *** [obj/main_helpers.o] Error 1
>> make[2]: Leaving directory `/home/bill/source/mythtv/mythtv/programs/mythbackend'
>> make[1]: *** [sub-mythbackend-make_first] Error 2
>> make[1]: Leaving directory `/home/bill/source/mythtv/mythtv/programs'
>> make: *** [programs] Error 2
>>
>> And I've not been able to solve the above. Did a distclean before the above.
>> I'll switch back to master but would be happy to test any suggestions to get
>> past the above.
>
> I don't know why that error is occurring. Is that the only one you're
> getting? If so, could you try replaceing the QWriteLocker with calls
> to lockForWrite() and unlock()?

David,

Yes, it was the only error. I see that there are 35 other uses of QWriteLocker
in master, so I changed the one above like this:

diff --git a/mythtv/programs/mythbackend/main_helpers.cpp b/mythtv/programs/mythbackend/main_helpers.cpp
index 7c4567a..ae73bbb 100644
--- a/mythtv/programs/mythbackend/main_helpers.cpp
+++ b/mythtv/programs/mythbackend/main_helpers.cpp
@@ -153,7 +153,7 @@ bool setupTVs(bool ismaster, bool &error)
hosts.push_back(host);
}

- QWriteLocker(&TVRec::inputsLock);
+ QWriteLocker lock(&TVRec::inputsLock);

for (uint i = 0; i < cardids.size(); i++)
{

and it builds OK. Just recorded a single scheduled program OK.

I'll just do my normal scheduled recordings tonight, no multirec or
slave backend online.

Does the above change meet your needs?

--
Bill
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 11 January 2018 1:12:14 pm Bill Meek <keemllib@gmail.com> wrote:

> On 01/09/2018 04:17 PM, David Engel wrote:
>> On Tue, Jan 09, 2018 at 03:18:23PM -0600, Bill Meek wrote:
>>> On 01/09/2018 10:41 AM, Bill Meek wrote:
>>>> On 01/08/2018 10:51 AM, David Engel wrote:
>>>
>>> ...
>>>
>>>>> Do I have any other takers on this?
>>>>>
>>>>> David
>>>>>
>>>>
>>>> I'm in. Just got my test host's systemd setup so the backend can be started
>>>> as a master or as a slave to my production host. I've only got one channel
>>>> eligible for multirec right now, but multirec works on master. Switching to
>>>> the devel/scheduler branch now.
>>>
>>> Well, this didn't last long. My production backend is still on Ubuntu 14.04
>>> and Qt 5.2.1. This branch builds on 17.10, but on 14.04 fails with:
>
>>>...
>
>>> -I/usr/include/qt5/QtCore -Imoc -o obj/main_helpers.o main_helpers.cpp
>>> main_helpers.cpp: In function ‘bool setupTVs(bool, bool&)’:
>>> main_helpers.cpp:156:36: error: invalid use of qualified-name
>>> ‘TVRec::inputsLock’
>>> QWriteLocker(&TVRec::inputsLock);
>>> ^
>>> make[2]: *** [obj/main_helpers.o] Error 1
>>> make[2]: Leaving directory
>>> `/home/bill/source/mythtv/mythtv/programs/mythbackend'
>>> make[1]: *** [sub-mythbackend-make_first] Error 2
>>> make[1]: Leaving directory `/home/bill/source/mythtv/mythtv/programs'
>>> make: *** [programs] Error 2
>>>
>>> And I've not been able to solve the above. Did a distclean before the above.
>>> I'll switch back to master but would be happy to test any suggestions to get
>>> past the above.
>>
>> I don't know why that error is occurring. Is that the only one you're
>> getting? If so, could you try replaceing the QWriteLocker with calls
>> to lockForWrite() and unlock()?
>
> David,
>
> Yes, it was the only error. I see that there are 35 other uses of QWriteLocker
> in master, so I changed the one above like this:
>
> diff --git a/mythtv/programs/mythbackend/main_helpers.cpp
> b/mythtv/programs/mythbackend/main_helpers.cpp
> index 7c4567a..ae73bbb 100644
> --- a/mythtv/programs/mythbackend/main_helpers.cpp
> +++ b/mythtv/programs/mythbackend/main_helpers.cpp
> @@ -153,7 +153,7 @@ bool setupTVs(bool ismaster, bool &error)
> hosts.push_back(host);
> }
>
> - QWriteLocker(&TVRec::inputsLock);
> + QWriteLocker lock(&TVRec::inputsLock);
>
> for (uint i = 0; i < cardids.size(); i++)
> {
>
> and it builds OK. Just recorded a single scheduled program OK.
>
> I'll just do my normal scheduled recordings tonight, no multirec or
> slave backend online.
>
> Does the above change meet your needs?
>
> --
> Bill
>

I've got the same build error. I'll make the change proposed by Bill.


_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On 26/12/17 16:37, David Engel wrote:
> The "Schedule as Group" feature added last year greatly improved the
> scheduling performance of multirec configurations. Unfortunately, it
> required the number of simultaneous recordings to be set high enough
> to handle every recording load. If it was set too low, recordings
> would be missed. I now have a change ready to address that
> limitation.
>
> Instead of missing recordings, MythTV will now automatically add
> multirec inputs to handle the load. However, this change adds new
> locking creates the possibility of new deadlocks, especially when the
> added inputs are on slave backends. Consequently, I'd like for this
> change to get some wider testing before it goes into master.
>
> If you're interested and able to help out on the testing, please
> checkout the devel/scheduler branch and give it a try. Please post
> any feedback you have here. If all goes well, I'll commit to master
> in a week or two.
>
> David

David,

I have run some tests over the past two days using a VBOX network tuner
3442 (firmware XTI_VJ.2.57)  - dual DVB-T/T2 tuners on UK Freeview.

I am using clean install of Xubuntu 16.04, with mythtv (scheduler
branch) built using default ./configure, all build dependencies
installed via ansible.

I set multirec to 2 for each tuner, with schedule as a group enabled.

The changes work, with additional tuners being added as required.

However it is possible to overload the VBOX, I have seen its CPU usage
at 100% and memory usage over 97% with 14 simultaneous recordings (9 on
one tuner, 5 on the other) .

After the 14 simultaneous recordings, I noticed a problem with the VBOX
in that LiveTV was timing out on some channels which had previously worked.

I had to reset and reconfigure the VBOX to clear the issue, I presume
there was some corruption within the VBOX due to overload.

I had previously used this VBOX on my main mythtv system (which runs
master built from source) for many months with no issues, multrec set to
5 and no schedule as a group.

So at present, I would not recommend setting multrec above 5 on each
tuner and schedule as a group should not be used.

Mike

_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Wed, Jan 10, 2018 at 08:41:53PM -0600, Bill Meek wrote:
> On 01/09/2018 04:17 PM, David Engel wrote:
> > On Tue, Jan 09, 2018 at 03:18:23PM -0600, Bill Meek wrote:
> > > On 01/09/2018 10:41 AM, Bill Meek wrote:
> > > > On 01/08/2018 10:51 AM, David Engel wrote:
> > >
> > > ...
> > >
> > > > > Do I have any other takers on this?
> > > > >
> > > > > David
> > > > >
> > > >
> > > > I'm in. Just got my test host's systemd setup so the backend can be started
> > > > as a master or as a slave to my production host. I've only got one channel
> > > > eligible for multirec right now, but multirec works on master. Switching to
> > > > the devel/scheduler branch now.
> > >
> > > Well, this didn't last long. My production backend is still on Ubuntu 14.04
> > > and Qt 5.2.1. This branch builds on 17.10, but on 14.04 fails with:
>
> > > ...
>
> > > -I/usr/include/qt5/QtCore -Imoc -o obj/main_helpers.o main_helpers.cpp
> > > main_helpers.cpp: In function ‘bool setupTVs(bool, bool&)’:
> > > main_helpers.cpp:156:36: error: invalid use of qualified-name ‘TVRec::inputsLock’
> > > QWriteLocker(&TVRec::inputsLock);
> > > ^
> > > make[2]: *** [obj/main_helpers.o] Error 1
> > > make[2]: Leaving directory `/home/bill/source/mythtv/mythtv/programs/mythbackend'
> > > make[1]: *** [sub-mythbackend-make_first] Error 2
> > > make[1]: Leaving directory `/home/bill/source/mythtv/mythtv/programs'
> > > make: *** [programs] Error 2
> > >
> > > And I've not been able to solve the above. Did a distclean before the above.
> > > I'll switch back to master but would be happy to test any suggestions to get
> > > past the above.
> >
> > I don't know why that error is occurring. Is that the only one you're
> > getting? If so, could you try replaceing the QWriteLocker with calls
> > to lockForWrite() and unlock()?
>
> David,
>
> Yes, it was the only error. I see that there are 35 other uses of QWriteLocker
> in master, so I changed the one above like this:
>
> diff --git a/mythtv/programs/mythbackend/main_helpers.cpp b/mythtv/programs/mythbackend/main_helpers.cpp
> index 7c4567a..ae73bbb 100644
> --- a/mythtv/programs/mythbackend/main_helpers.cpp
> +++ b/mythtv/programs/mythbackend/main_helpers.cpp
> @@ -153,7 +153,7 @@ bool setupTVs(bool ismaster, bool &error)
> hosts.push_back(host);
> }
>
> - QWriteLocker(&TVRec::inputsLock);
> + QWriteLocker lock(&TVRec::inputsLock);
>
> for (uint i = 0; i < cardids.size(); i++)
> {
>
> and it builds OK. Just recorded a single scheduled program OK.
>
> I'll just do my normal scheduled recordings tonight, no multirec or
> slave backend online.
>
> Does the above change meet your needs?

Doh! Yes, that is the correct fix. I'll push it to the branch.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Thu, Jan 11, 2018 at 01:55:17PM +0000, Mike Bibbings wrote:
> On 26/12/17 16:37, David Engel wrote:
> > The "Schedule as Group" feature added last year greatly improved the
> > scheduling performance of multirec configurations. Unfortunately, it
> > required the number of simultaneous recordings to be set high enough
> > to handle every recording load. If it was set too low, recordings
> > would be missed. I now have a change ready to address that
> > limitation.
> >
> > Instead of missing recordings, MythTV will now automatically add
> > multirec inputs to handle the load. However, this change adds new
> > locking creates the possibility of new deadlocks, especially when the
> > added inputs are on slave backends. Consequently, I'd like for this
> > change to get some wider testing before it goes into master.
> >
> > If you're interested and able to help out on the testing, please
> > checkout the devel/scheduler branch and give it a try. Please post
> > any feedback you have here. If all goes well, I'll commit to master
> > in a week or two.
> >
> > David
>
> David,
>
> I have run some tests over the past two days using a VBOX network tuner 3442
> (firmware XTI_VJ.2.57)? - dual DVB-T/T2 tuners on UK Freeview.
>
> I am using clean install of Xubuntu 16.04, with mythtv (scheduler branch)
> built using default ./configure, all build dependencies installed via
> ansible.
>
> I set multirec to 2 for each tuner, with schedule as a group enabled.
>
> The changes work, with additional tuners being added as required.
>
> However it is possible to overload the VBOX, I have seen its CPU usage at
> 100% and memory usage over 97% with 14 simultaneous recordings (9 on one
> tuner, 5 on the other) .
>
> After the 14 simultaneous recordings, I noticed a problem with the VBOX in
> that LiveTV was timing out on some channels which had previously worked.
>
> I had to reset and reconfigure the VBOX to clear the issue, I presume there
> was some corruption within the VBOX due to overload.
>
> I had previously used this VBOX on my main mythtv system (which runs master
> built from source) for many months with no issues, multrec set to 5 and no
> schedule as a group.
>
> So at present, I would not recommend setting multrec above 5 on each tuner
> and schedule as a group should not be used.

Thanks for testing. Your advice is good. Schedule as group is only
recommended when you have a priori knowledge that the tuner can handle
whatever load your schedule might generate.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
Update:

Haven't missed any recordings with the feature in use. Began
testing on 1/11.

Tried setting the Preferred Input in the rule, works OK.
(Chose the input on my slave BE and only did that test once
and it only has one physical card.)

Tried setting the rules mid program, and in the future OK.
Haven't tried LiveTV now that I think about it.

Today, I stopped the slave backend while two recordings were being
made (on the same multiplex.) When the slave BE was restarted, the
recordings restarted, as expected.

The only anomaly I've seen was in the above restart and the red recording
spinner didn't display if I *re-entered* the Watch Recordings page. I haven't
switched back to master to see if that happens there too. Steppes theme,
in case that's important.

--
Bill
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Testers Wanted for New, ON-Deman Input Feature [ In reply to ]
On Sun, Jan 14, 2018 at 04:56:37PM -0600, Bill Meek wrote:
> Update:
>
> Haven't missed any recordings with the feature in use. Began
> testing on 1/11.
>
> Tried setting the Preferred Input in the rule, works OK.
> (Chose the input on my slave BE and only did that test once
> and it only has one physical card.)
>
> Tried setting the rules mid program, and in the future OK.
> Haven't tried LiveTV now that I think about it.
>
> Today, I stopped the slave backend while two recordings were being
> made (on the same multiplex.) When the slave BE was restarted, the
> recordings restarted, as expected.
>
> The only anomaly I've seen was in the above restart and the red recording
> spinner didn't display if I *re-entered* the Watch Recordings page. I haven't
> switched back to master to see if that happens there too. Steppes theme,
> in case that's important.

Thanks for testing. I don't believe your missing spinner issue is
related to the scheduler changes.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org