Halo orbits and their cousins Lissajous orbits (like the one DSCOVR is in) around the Sun-Earth L1 and L2 have periods of about a half-year. They are not generally stable and they want to "unwind" along what's called an unstable manifold.
In Is this what station keeping maneuvers look like, or just glitches in data? (SOHO via Horizons) I link to Roberts 2002, The SOHO Mission L1 Halo Orbit Recovery
From the Attitude Control Anomalies of 1998. Section II describes the station keeping routine for SOHO, which is DSCOVR's neighbor.
They keep SOHO orbiting very slightly towards Earth, a fraction of a kilometer away from its ideal orbit. Over weeks it moves farther from the halo and towards us. The exponential doubling time for the error is about two weeks.
If they did nothing, it would spiral towards the Earth and then go off on a big orbit around the Sun.
But SOHO and DSCOVR and the JWST (in the future) and all of these Halo orbiting spacecraft carry transponders. Earth beams a signal to the satellite and it shift the frequency in a special, coherent way, and turns it around and sends it right back to Earth live.
Earth can measure the speed and distance in this direction, and detect even millimeters per second errors in the velocity, as you can see by reading that section. Earth then calculates the required station-keeping burn and initiates it for the satellite. These are typically delta-v's of centimeters per second, and done every few weeks.
Since the error grows exponentially (these orbits are said to be exponentially unstable) the more frequently you can do this, the less delta-v per year you need. In this answer I mention that the JWST's station-keeping budget is about 2.4 m/sec per year. That's really small!
All of this is possible only because of the precise delay-doppler measurements made using the Deep Space Network dish antennas and a coherent transponder on the spacecraft.
For more about DSOVR's orbit, see:
The second one links to Lissajous Orbit Control for the Deep Space Climate Observatory Sun-Earth L1 Libration Point Mission