Skip site navigation (1)Skip section navigation (2)
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>