Date: Thu, 29 Dec 2011 17:56:31 +0100 From: Stefan Bethke <stb@lassitu.de> To: Adrian Chadd <adrian@freebsd.org> Cc: "freebsd-embedded@freebsd.org" <freebsd-embedded@freebsd.org> Subject: Re: Updated switch/glue patch? Message-ID: <7A8E7854-4696-44B9-B0BE-3D6640BA0A49@lassitu.de> In-Reply-To: <E4D24E02-4F0E-43FB-84F0-F5F20925F748@lassitu.de> References: <CAJ-Vmon8%2BOXQ4g752zZEB-O0BR0sFWO0QUvw--xp2jsBDkx6tQ@mail.gmail.com> <0F6CC18F-6973-42A2-AC03-F01BF59458AE@lassitu.de> <CAJ-Vmo=Y8pp4iFnw%2B1hcPae6QXFboz=a7puwgC1kVSZ3JwMgPQ@mail.gmail.com> <1100F70E-9DA9-4163-AC9A-423ECE5AA9A3@lassitu.de> <CAJ-VmonrnJ7cC6u2LsL9AGusz_%2BkSwY62Rr1__sg5U_NynJ1SQ@mail.gmail.com> <CAJ-Vmo=WSN1oLM=B2HqSHrWyOaOD9BSwwu8=1Wys0CLRJ_N-TA@mail.gmail.com> <C637C171-A1A2-4296-84FA-6DE97137DC42@lassitu.de> <CAJ-Vmon2boy7OCh_4O0MeCi0yCdZu0OYb5dxHCEK=-%2B46zBGtg@mail.gmail.com> <CAJ-Vmoku5eLEYi5_DXVxK=0=4Ewn2aGepv3YUw4ApuVh_7y2%2Bw@mail.gmail.com> <CAJ-VmonvpnaS1rAO%2BsDRh1E5WfsrZTYE297Kc96prhfKjrM89Q@mail.gmail.com> <CAJ-VmokQxQs2DUKL=ONyxnnS7Q28ytmwZJ_thqvc4SvMkmS=cQ@mail.gmail.com> <18CABB46-9B9A-41CB-8742-6723C5FF4D67@lassitu.de> <C0BF20FD-E30F-4E9C-A0FE-500BE4807B99@bsdimp.com> <CAJ-VmokgiQCEG4et3X=3o_MuCMkO9MqkKqa-fjdpEqQNucn=Lw@mail.gmail.com> <2CBD8651-E132-49DC-A082-37A8F5C626EA@bsdimp.com> <AFE755D6-E462-40B4-A97B-9261303B3A4F@lassitu.de> <CAJ-Vm onmMASxJZBAd2doX4eV6s5TF-3kCB0pLSMrWM8r0UsCmg@mail.gmail.com> <FC8A0B08-5292-44CC-AEC0-08BF170FCEA4@lassitu.de> <267FB3D6-830E-4A2F-8C1C-A96873EDCD31@lassitu.de> <EC4D4397-FA60-4CB1-8635-48988215E19A@lassitu.de> <CAJ-VmomZeHEyue4eaNGm%2Bw67uDBsOH_2bqocXjBGxyxHXStZ_A@mail.gmail.com> <12538AED-175C-4B1E-BF05-6FD05D14CE70@lassitu.de> <CAJ-Vmonu_HyhEnS=3aj7X41-LPWcihPA6Wa6jgV3cn7im2N3Kg@mail.gmail.com> <2135AD2B-76D4-4B3D-A009-8F3BEC836051@lassitu.de> <CAJ-VmomkCLARagMXUmmJ2O8AQsiKwOEvWMLmwUnK=c47yDJvyw@mail.gmail.com> <2BB71545-7DE9-493D-92FE-AD4CEDCBF2D1@lassitu.de> <E4D24E02-4F0E-43FB-84F0-F5F20925F748@lassitu.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 29.12.2011 um 11:18 schrieb Stefan Bethke: > http://gitorious.org/~stb/freebsd/stb-adrianchadd-freebsd-work (branch = work/ath) > http://www.lassitu.de/freebsd/etherswitch-adrian.patch (patch against = Adrians gitorious repo as of now) > http://www.lassitu.de/freebsd/etherswitch.tbz (all files) I've updated the patch: Improve locking. There is now one lock for the softc. SMI bus access is serialized = through a softc field protected by sc_mtx. All bus access functions can be called with RTL_NOWAIT, making them punt immediately if the bus was already acquired. This allows the callout to try and read all three port status registers, or just abort and wait for the next round. For bus access through the control device, the functions are called with RTL_WAITOK, which will make them sleep until the bus becomes available (through the standard mtx_lock()). With this version, I get no WITNESS warnings, nor panics from the = callout. The retries for I2C select and PHY register access always succeed (100k+ test accesses in a tight loop). Stefan --=20 Stefan Bethke <stb@lassitu.de> Fon +49 151 14070811
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7A8E7854-4696-44B9-B0BE-3D6640BA0A49>