ENQ has performance implications Em sáb., 7 de dez. de 2024, 19:58, João Reginato <jb.regin...@gmail.com> escreveu:
> Ok I'll take a look on PLO. thanks > > Em sáb., 7 de dez. de 2024, 18:33, Binyamin Dissen < > 00001773bcccb823-dmarc-requ...@listserv.uga.edu> escreveu: > >> The question is why you would want to use the CMS lock on modern hardware. >> >> If CS(G) in not adequate for you queue structure, you have PLO or the >> various >> transaction opcodes. I have used PLO to support a queue with multiple >> feeders >> and multiple eaters. >> >> On Sat, 7 Dec 2024 16:40:49 -0300 João Reginato <jb.regin...@gmail.com> >> wrote: >> >> :>Thank you, Peter. I got it and I'm going to use CS instead. >> :>But could you send me an example of how to get the CML/CMS locks? >> :>The situation is many asids adding data in ecsa and one asid getting >> this >> :>data from there. >> :> >> :>TIA >> :>João >> :> >> :>-----Mensagem original----- >> :>De: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> Em >> nome >> :>de Peter Relson >> :>Enviada em: sábado, 7 de dezembro de 2024 13:16 >> :>Para: ASSEMBLER-LIST@LISTSERV.UGA.EDU >> :>Assunto: Re: SETLOCK OBTAIN CML/CMS >> :> >> :>Regarding CMS lock: >> :>CMS is a global suspend lock, you do not need an address space bind to >> :>obtain it, but if you are not careful you could adversely impact the >> :>performance of the system (blocking the system's access to it while you >> hold >> :>it). There is rarely call for something outside z/OS itself to obtain >> this >> :>lock. >> :> >> :>Regarding CPU lock: >> :>Remember that while holding the CPU lock all storage that you touch >> :>(including the storage for your program) must be page-fixed or >> :>disabled-reference. >> :>And while holding the CPU lock (or while in any case of being disabled >> for >> :>external/IO interrupts) any suspend lock obtain (LOCAL, CML, CMS) can >> only >> :>be conditional. If the lock is not immediately available, you get >> control >> :>back with an appropriate return code. >> :> >> :>Regarding SSAR: If this is a reusable ASID, you would have to use SSAIR. >> :> >> :>Regarding CML: the specific requirement to avoid 073-x'10' upon SETLOCK >> :>OBTAIN for a CML is to have either PASN or SASN match the ASID >> associated >> :>with the provided ASCB. >> :>The normal way that that happens is via a space-switch PC (setting your >> new >> :>PASN) and then obtaining the CML of the now-current PASN address space. >> :>It is not, in general, safe to SSAR (or SSAIR) to any ASN you might >> have a >> :>mind to want to access. In many cases, the target of cross-memory access >> :>must be non-swappable. >> :> >> :>All of this leads to the thought that you might want to explain what >> :>specifically you feel you are trying to accomplish that necessitates the >> :>lock operations (and your questions) so that others can help to guide >> you. >> :>There is a very real possibility of harm if you get it wrong. Getting it >> :>right is part of the responsibility that goes with running in supervisor >> :>state (and in this case key 0). >> :> >> :>Peter Relson >> :>z/OS Core Technology Design >> >> -- >> Binyamin Dissen <bdis...@dissensoftware.com> >> http://www.dissensoftware.com >> >> Director, Dissen Software, Bar & Grill - Israel >> >