  Millisecond pulsars (MSPs) are known as highly stable celestial clocks.
Nevertheless, recent studies have revealed the unstable nature of their
integrated pulse profiles, which may limit the achievable pulsar timing
precision. In this paper, we present a case study on the pulse profile
variability of PSR J1022+1001. We have detected approximately 14,000 sub-pulses
(components of single pulses) in 35-hr long observations, mostly located at the
trailing component of the integrated profile. Their flux densities and
fractional polarisation suggest that they represent the bright end of the
energy distribution in ordinary emission mode and are not giant pulses. The
occurrence of sub-pulses from the leading and trailing components of the
integrated profile is shown to be correlated. For sub-pulses from the latter, a
preferred pulse width of approximately 0.25 ms has been found. Using
simultaneous observations from the Effelsberg 100-m telescope and the
Westerbork Synthesis Radio Telescope, we have found that the integrated profile
varies on a timescale of a few tens of minutes. We show that improper
polarisation calibration and diffractive scintillation cannot be the sole
reason for the observed instability. In addition, we demonstrate that timing
residuals generated from averages of the detected sub-pulses are dominated by
phase jitter, and place an upper limit of ~700 ns for jitter noise based on
continuous 1-min integrations.
